contiki 学习笔记 leds实现部分
void leds_init(void);
void leds_blink(void);
unsigned char leds_get(void);
void leds_on(unsigned char leds);
void leds_off(unsigned char leds);
void leds_toggle(unsigned char leds);
void leds_invert(unsigned char leds);
void leds_arch_init(void);
unsigned char leds_arch_get(void);
void leds_arch_set(unsigned char leds);
/* H/W Connections */
#define LED1_PIN P1_0
#define LED2_PIN P1_1
#define LED3_PIN P1_4/* P0DIR and P0SEL masks */
#define LED1_MASK 0x01
#define LED2_MASK 0x02
#define LED3_MASK 0x10
#define LED4_MASK 0x02
/*---------------------------------------------------------------------------*/
void
leds_arch_init(void)
{P1SEL &= ~(LED1_MASK | LED2_MASK | LED3_MASK);P1DIR |= (LED1_MASK | LED2_MASK | LED3_MASK);
}
/*---------------------------------------------------------------------------*/
unsigned char
leds_arch_get(void)
{unsigned char v;v = (unsigned char) (LED1_PIN | (LED2_PIN << 1) | (LED3_PIN << 2));return v;
}
/*---------------------------------------------------------------------------*/
void
leds_arch_set(unsigned char leds)
{LED1_PIN = leds & 0x01;LED2_PIN = (leds & 0x02) >> 1;LED3_PIN = (leds & 0x04) >> 2;
}
/*---------------------------------------------------------------------------*/
#include "contiki.h"
#include "dev/leds.h"
/*---------------------------------------------------------------------------*/
PROCESS(blink_process, "Blink");
AUTOSTART_PROCESSES(&blink_process);
/*---------------------------------------------------------------------------*/
PROCESS_THREAD(blink_process, ev, data)
{static struct etimer et;PROCESS_BEGIN();while(1) {etimer_set(&et, CLOCK_SECOND); // etimer溢出周期为1sPROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et));leds_on(1); // 打开LED1etimer_set(&et, CLOCK_SECOND);PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et));leds_off(1);}PROCESS_END();
}
contiki 学习笔记 leds实现部分相关推荐
- Contiki学习笔记——Cooja启动失败
Contiki学习笔记--Cooja启动失败 Cooja启动 Cooja启动 进入Terminal: cd Contiki/tools/cooja ant run 出现错误: Could not fi ...
- contiki学习笔记03
contiki学习笔记03 contiki是基于事件型驱动的操作系统,它传递事件的方式有两种,同步和异步. process_post_synch函数是同步,调用它可以马上执行相关的线程:process ...
- contiki学习笔记之leds
1.介绍 不断学习,不断忘记,总感觉学了就忘,结果啥都没剩下.所以有写下来的想法了. contiki 一个非常小的操作系统,尤其是对内存有优化.操作系统完全用C语言编写,可移植性非常好.具体可以去co ...
- contiki学习笔记(一)
本学期开始学习contiki,主要是将contiki os应用于cc2530.学习的时候,发现国内的资料很少,故边学习边写一些笔记,方便自己查看. 一.contiki简介 Contiki是一个开源的. ...
- contiki学习笔记 etimer部分
1.前言 contiki是一款小型开源,易于移植的多任务操作系统,专门为无线传感网设计,适合内存受限制的网络系统.国内的研究和应用还处于初级阶段,甚至还不知道这个contiki如何发音,也没有 ...
- contiki学习笔记(二)CTK图形界面
CTK 图形界面 Contiki 工具包(CTK)为康智奇系统提供了图形用户界面 Modules CTK device driver functions CTK设备驱动程序功能 CTK设备驱动程序功能 ...
- contiki学习笔记(七)contiki系统
八.contiki进程 contiki编程的核心文档 contiki的一个进程由一个单一的原线程组成. Files file process.c contiki进程内核的实现. file proces ...
- contiki学习笔记(四)、contiki系统UDP通信原理(单播、多播、RPL介绍)
(1).simple_udp_register()函数 contiki\core\net\ip /*该函数简化contiki系统中基于UDP协议的Socknet接口操作,函数体中包含了udp_new( ...
- contiki学习笔记(五)ctimer和etimer
四.callback timer 回调计时器(ctimer) Callback timer(回调计时器) Contiki system ctimer模块提供了一个计时器机制(机制)调用指定的C函数ct ...
最新文章
- php service locator,Yii源码解读-服务定位器(ServiceLocator)
- 手把手教你全家桶之React(一)
- 纯CSS实现侧边栏/分栏高度自动相等
- HEVC/H265 HM10.0 分析(一)NALread.cpp
- Java8 基础数据类型包装类-Long
- 数字水印技术的原理、实现及其应用
- vue + element插件Popover弹出框
- LTspice基础教程-033.绘制电容阻抗特性曲线
- 对于自己(Android)秋招的一点总结(感慨)
- html5三国策略,HTML5新游《乱弹三国》今日首曝
- 如何快速搭建好看的个人博客(完整配置与源码)
- 开发一个APP有多难?APP开发流程、开发成本揭秘
- 浅入浅出LuaJIT
- Centos-openstack-Rocky-ironic部署
- 被win10的诸多功能无法使用折腾个半死
- ISO9001质量管理体系认证
- java 一般方法_java有哪些方法
- 统计学“诺贝尔”奖——考普斯总统奖(COPSS Presidents' Award)
- 用Python来绘制自己的个人足迹地图,精确到市级别
- 连接服务器显示615,D-Link DIR 615无线路由器设置
热门文章
- 【行业应用】浅谈AI如何在电力行业落地
- 电脑的计算机自动打开文件,为什么电脑开机后会有一个文件夹自动打开
- 论文学习笔记:CSRNet: Dilated Convolutional Neural Networks for Understanding the Highly Congested Scenes
- android中dalvik虚拟机参数
- 【NOIP 2017】Day2 T3 列队
- python大赛对名_用100行Python爬虫代码抓取公开的足球数据玩(一)
- FFmpeg支持QUIC
- 【python】openpyxl常用方法
- OAuth 2.0 基础(2)
- 会议记录怎样做得又快又好?一分钟学会录音转文字