在simple_peripheral 工程中添加NPI_SPI,但是编译失败。虽然我严格按照官方参考文档《Cc2640 Adding a UART or SPI driver to a Sample Project》进行配置,但是依旧出错。原因是TLinit()函数中的参数sem没有定义。请问如何添加sem的定义,才可以保证编译通过且通信成功?
我的详细步骤如下:
1、根据官方文档《Cc2640_Adding_a_UART_or_SPI_driver_to_a_Sample_Project》,将NPI_SPI添加到simple_peripheral工程中。
2、下载“tl.h”和“tl.c ”文件,下载路径见附件6(6)和6(7)
3、根据官方文档的9个步骤,将NPI_SPI添加到simple_peripheral工程中。
4、编译该工程,但是编译出错,如图1所示。
5、出错的原因是TLinit(&sem, &SimpleBLEPeripheral_TLCBs, TRANSPORT_TX_DONE_EVENT, TRANSPORT_RX_EVENT, MRDY_EVENT)函数中的sem没有定义。代码如下所示。
#if defined (NPI_USE_UART) || defined (NPI_USE_SPI)//initialize and pass information to TLTLinit(&sem, &SimpleBLEPeripheral_TLCBs, TRANSPORT_TX_DONE_EVENT,TRANSPORT_RX_EVENT, MRDY_EVENT); #endif //TL
6、附件
(1)官方文档《Cc2640_Adding_a_UART_or_SPI_driver_to_a_Sample_Project》可在这里下载:
(2)官方文档《NPI》可在这里下载:
(3)simple_peripheral工程在我的SDK中的位置
C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral
(4)simplelink_cc2640r2_sdk_1_40_00_45 可从如下路径下载:
(5)CC2640R2 launchpad 可从这里购买:
(6)“tl.h”下载路径
(7)“tl.c ”下载路径
7、我的开发环境
CCS:Code Composer Studio 7.2.0
SDK:simplelink_cc2640r2_sdk_1_40_00_45
hardware:CC26640R2 launchpad develop kit
VS: Microsoft Visual C++ 2010 Express
系统:win7 64 位
Xuke Xia:
回复 Viki Shi:
你好,请问什么情况下需要对BLE协议栈工程下的stack工程进行修改?TI官方是否有提供修改stack工程的文档?如果没有的话,我们该如何修改?谢谢!
协议栈:ble_sdk_2_02_02_25;IDE:CCS V8;器件:CC2650;
YiKai Chen:
回复 Xuke Xia:
基本上你無須供修改stack工程的文档
Xuke Xia:
回复 YiKai Chen:
那总有什么情况下需要修改的吧,否则这个stack工程还需要修改的意义何在?谢谢。
Viki Shi:
回复 Xuke Xia:
请问你具体需要修改什么功能?