欢迎来到天天文库
浏览记录
ID:20653680
大小:129.83 KB
页数:5页
时间:2018-10-14
《第十六节ble协议栈led实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第十六节BLE协议栈LED实验TI的协议栈中在HAL层已经有了LED的驱动,我们只需要针对我们的开发板进行配置即可,我们的开发板有两个LED,分别对应P1.0和P1.1。这个在裸机幵发的时候已经介绍了。为了保持协议栈原有的代码不变,我们在BLE-CC254x-1.4.0Componentshaltarget目录下新建一个文件夹,使它适应我们的开发板。名称罐改曰明加CC2540EB2014/5/231002文賊.CC2540USB2014/5/231002文件夹“CC2541ARC2014/5/231002文賊MCC2541ST2014/5/23
2、1002文贼MT2S4xboard2014/7/220:24文峽大小打开LED实验工程LEDExample,选择MT254xboard,并且在工程配置屮要定义HAL_LED=TRUE,下载到开发板运行,可以看到两个LED同时在闪烁。workspaceM’254xBoardFiles□0LEDExomple-MT254xBoordH=lClAPP-Q已OSAL_Simple巳LEPeripheral.c-qici—Bsimple巳LEPeripheral.h-Q0SimpleBLEPeripheral_Main.c—(5C3TargetL-QQMT;H
3、3C3HAL—fflC3Common—QClIncludeMT254xboard-QC]includeH3C3LIBH3C3NPI-QC3OSALH3OPROFILES-0DTOOLSLq□OutputIPreprocessor1DiagnosticsExtra(礞Categocy:CustomBuMBuUActionsUntoDebuggerThird-PartyOnvcrTexasInstrvmenbFS2SystemNavig.InfineonNordcSemconducROM-MonitorAnalogDevicesSfabsS4、rFactorySetbngsDefinedsymbols:(oneperline)xPOWER.SAVINGxPLUSBROADCASTERLl*.!5、hal:led=true6、7、□Preprocessoroutputtofile]PreservecommentsGenerate«IinedirectivesOK:MufetteCompiabon[DiscedUnutedPubfesOptimizationsOutputList匚;IgnorestandardincludedirectorieiAdditionalincludedirectorie8、s:(oneperline)$PROJ.OIR$..,-commonSPROJ.DIRSVX.includeSPROJ.DIR$..VWComponentsh«linclude$PROJ.DIRSWWComponentsh«ItargetMT2S4xboard$PROJ.DIR$...*WAComponcnt$h«KurgetMT2S4xbo«rdu$blibPreincludeCancel那我们的实现代码在哪里呢?其实在协议栈中实现这个很简单,在启动事件屮我们调用了一个HalLedSet函数,并且设置了两个LED9、同时闪烁。if(events&S8PSTARTDEVICEEVT){//StarttheDeviceVOIDGAPRole_$tartOevicc(Hsi»pleBLEPeripheral_Peripberal(Bs//StartBondManagerHdlLedSet((HAtJ^ED一110、KAL3EO■^rt■■什卿,pfHw/hfvf”return(eventsASBPSTARTDEVICEEVT、osaLstart^ti»erEx(siopleBLEPoripheral-TaskIO>S8PJ>ERI00IC_EVT,S8P.PERI00IC11、一EVTJ>ERIOO);就是这么简单,协议栈已经把其它事情做好了,只需要我们调用设置函数即可。设置的模式总共有5种?•12345^defineHAL_LED_MODE_OFEfidefineHAL_LED_MODE_ON#defineHAL_LED_MODE_BLINK^defineHAL_LRD_MODR_FLASHttdefineHALLEDMODETOGGLE0x000x010x020x040x08//关闭LED//打开LED//闪烁一次//不断的闪烁,最多255次//翻转LED状态为了适应不同的需求,我们可能需要更改LED的输出引脚,如图板12、级配置在hal_board_cfg.h文件中。Files□3LEDExomple-MT254xBoardHi
4、rFactorySetbngsDefinedsymbols:(oneperline)xPOWER.SAVINGxPLUSBROADCASTERLl*.!
5、hal:led=true
6、
7、□Preprocessoroutputtofile]PreservecommentsGenerate«IinedirectivesOK:MufetteCompiabon[DiscedUnutedPubfesOptimizationsOutputList匚;IgnorestandardincludedirectorieiAdditionalincludedirectorie
8、s:(oneperline)$PROJ.OIR$..,-commonSPROJ.DIRSVX.includeSPROJ.DIR$..VWComponentsh«linclude$PROJ.DIRSWWComponentsh«ItargetMT2S4xboard$PROJ.DIR$...*WAComponcnt$h«KurgetMT2S4xbo«rdu$blibPreincludeCancel那我们的实现代码在哪里呢?其实在协议栈中实现这个很简单,在启动事件屮我们调用了一个HalLedSet函数,并且设置了两个LED
9、同时闪烁。if(events&S8PSTARTDEVICEEVT){//StarttheDeviceVOIDGAPRole_$tartOevicc(Hsi»pleBLEPeripheral_Peripberal(Bs//StartBondManagerHdlLedSet((HAtJ^ED一1
10、KAL3EO■^rt■■什卿,pfHw/hfvf”return(eventsASBPSTARTDEVICEEVT、osaLstart^ti»erEx(siopleBLEPoripheral-TaskIO>S8PJ>ERI00IC_EVT,S8P.PERI00IC
11、一EVTJ>ERIOO);就是这么简单,协议栈已经把其它事情做好了,只需要我们调用设置函数即可。设置的模式总共有5种?•12345^defineHAL_LED_MODE_OFEfidefineHAL_LED_MODE_ON#defineHAL_LED_MODE_BLINK^defineHAL_LRD_MODR_FLASHttdefineHALLEDMODETOGGLE0x000x010x020x040x08//关闭LED//打开LED//闪烁一次//不断的闪烁,最多255次//翻转LED状态为了适应不同的需求,我们可能需要更改LED的输出引脚,如图板
12、级配置在hal_board_cfg.h文件中。Files□3LEDExomple-MT254xBoardHi
此文档下载收益归作者所有