- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Jennic-WSN专业综合训练文档-基础通信实验2
四、基本实验
1. 按键控制LED
将如下给定代码添加到工程程序框架中,并给予注释,然后编译、下载、运行,分别按动按键,观测实验现象。
//Include files
#include LedControl.h
#include Button.h
//Macro Definitions
#define APP_TICK_PERIOD_ms 500
//Local Function Prototypes
PRIVATE void vAppTick(void *pvMsg, uint8 u8Param);
PRIVATE void vProcessSplashKeyPress(uint8 u8KeyMap);
PRIVATE void vAppTickLED(void *pvMsg, uint8 u8Param);
//Local Variables
PRIVATE bool_t bNwkStarted = FALSE;
PRIVATE bool_t NextReadStart = TRUE ;
PRIVATE uint8 u8Msg;
PRIVATE uint8 u8TimerId;
PRIVATE uint8 LED=3;
PRIVATE bool_t bToggle;
PRIVATE void vInit(void)
{
(void)JZS_u32InitSystem(TRUE);
vLedInitFfd();
vLedControl(0,TRUE);
vLedControl(1,FALSE);
vLedControl(2,FALSE);
vLedControl(3,FALSE);
vButtonInitFfd();
(void)bBosRun(TRUE);
}
PRIVATE void vAppTick(void *pvMsg, uint8 u8Param)
{
NextReadStart = TRUE;
}
PRIVATE void vProcessSplashKeyPress(uint8 u8KeyMap)
{
switch (u8KeyMap)
{
case BUTTON_0_MASK:
LED=0;
break;
case BUTTON_1_MASK:
LED=1;
break;
case BUTTON_2_MASK:
LED=2;
break;
case BUTTON_3_MASK:
LED=3;
break;
default:
break;
}
vLedControl(0,FALSE);
vLedControl(1,FALSE);
vLedControl(2,FALSE);
vLedControl(3,FALSE);
}
PRIVATE void vAppTickLED(void *pvMsg, uint8 u8Param)
{
bToggle=!bToggle;
vLedControl(LED,bToggle);
(void)bBosCreateTimer(vAppTickLED, u8Msg, 0, (APP_TICK_PERIOD_ms/10), u8TimerId);
}
void JZA_vAppEventHandler(void)
{
uint8 u8ReadButton=0;
if (!bNwkStarted) return;
u8ReadButton=u8ButtonReadFfd();
if (bNwkStartedNextReadStartu8ReadButton)
{
NextReadStart = FALSE;
vProcessSplashKeyPress(u8ReadButton);
(void)bBosCreateTimer(vAppTick, u8Msg, 0, (APP_TICK_PERIOD_ms/10), u8TimerId);
}
}
PUBLIC void JZA_vStackEvent(teJZS_EventIdentifier eEventId,
tuJZS_StackEvent *puStackEvent)
{
if (eEventId == JZS_EVENT_NWK_
您可能关注的文档
最近下载
- 仓储场地出租合同范本.docx VIP
- DL_T 596-2021 电力设备预防性试验规程.docx VIP
- 湖北农商行面试题目及答案.doc VIP
- 护理质量持续改进与患者身份识别.pptx
- (正式版)D-L∕T 849.6-2016 电力设备专用测试仪器通用技术条件 第6部分:高压谐振试验装置.docx VIP
- 族谱资料欢迎传阅妥善保管以存后世-陆氏家园.docx VIP
- 楼层别效用比与地价分配率.PDF VIP
- 毕业设计(论文)-基于PLC的自动上料系统设计.docx VIP
- 新课标下初中历史教学中学生历史素养的培养研究.pptx VIP
- 基于web体育馆场地预约系统的设计与实现毕业论文.docx
原创力文档


文档评论(0)