- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【实验一】
代码控制LED灯的闪烁方式:
代码:
int mote_main(void) {uint8_t i;
board_init();
/*
// error LED functions
leds_error_on(); some_delay();
leds_error_off(); some_delay();
leds_error_toggle(); some_delay();
leds_error_blink(); some_delay();
// radio LED functions
leds_radio_on(); some_delay();
leds_radio_off(); some_delay();
leds_radio_toggle(); some_delay();
// sync LED functions
leds_sync_on(); some_delay();
leds_sync_off(); some_delay();
leds_sync_toggle(); some_delay();
// debug LED functions
leds_debug_on(); some_delay();
leds_debug_off(); some_delay();
leds_debug_toggle(); some_delay();
// all LED functions
leds_all_off(); some_delay();
leds_all_on(); some_delay();
leds_all_off(); some_delay();
leds_all_toggle(); some_delay();
*/
// LED increment function
leds_all_off(); some_delay();
for (i=0;i9;i++) {
leds_increment(); some_delay();
}
/*
// LED circular shift function
leds_all_off(); some_delay();
leds_error_on(); some_delay();
for (i=0;i9;i++) {
leds_circular_shift(); some_delay();
}
*/
// reset the board, so the program starts running again
board_reset();
return 0;
}
void some_delay(void) {
volatile uint16_t delay;
for (delay=0xffff;delay0;delay--);
}
具体函数:
// red
void leds_error_on()
{
GPIOC-ODR |= 0X0008;
}
void leds_error_off()
{
GPIOC-ODR = ~0X0008;
}
void leds_error_toggle()
{
GPIOC-ODR ^= 0X0008;
}
首先红灯亮,红灯灭,红灯状态反转(本代码中应该是灭),红灯闪烁16次
紧接着绿灯亮,绿灯灭,绿灯反转;然后同理,蓝灯和黄灯;然后四盏灯同时亮灭,然后进入轮转。
控制等的亮灭用到了GPIOC-ODR这个变量:
GPIOC-ODR |= 0X0008红灯亮; GPIOC-ODR = ~0X0008;红灯灭;GPIOC-ODR ^= 0X0008;红灯反转
【首先0x0008转换为二进制是:0000 0000 0000 1000
取或运算的时候红灯那一位为1,亮;当取反再与运算时,红灯那一位为0,灭;当和1000按位异或的时候,相当于反转】
GPIOC-ODR |= 0X0004;绿灯亮;GPIOC-ODR = ~0X0004;绿灯灭; GPIOC-ODR ^
本人专注于k12教育,英语四级考试培训,本人是大学本科计算机专业毕业生,专注软件工程计算机专业,也可承接计算机专业的C语言程序设计,Java开发,Python程序开发。
文档评论(0)