微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC2540透传问题

CC2540透传问题

时间:12-22 整理:3721RD 点击:

各位,我自己弄了个CC2540的板子,用作USB Dongle,我看了之前的一些帖子,已经可以让板子使用uart的方式和btool连接,并且能够跟其他模块建立连接。现在我想实现透传的功能,peheral设备倒是可以用GATT_Notification的函数发送数据,那central呢(用HostTest工程做)也是一样吗?

btool发送的HCI指令,第一个字节是01则表示指令,如果要使用串口助手发送一段数据载荷,让蓝牙发送出去,那么这个第一字节应该是多少呢?

Hi,weixinag liao

central 用的是GATT_WriteCharValue()发送数据, HostTest应该用的也是这个, 就是write的方法.

使用串口助手发送数据的话, 也是一样的, 你可以参考BTool的命令格式, BTool的"Adv.Commands" 里面有许多命令集合, 你可以参考.

用串口调试助手记得得用CTS/RTS硬件流控. 

http://processors.wiki.ti.com/index.php/LPRF_BLE_SerialApp

这个例子参考一下。

非常感谢,我先看看!

诶,我刚刚把LPRF BLE SeriaApp 里面的SeriaAppPeripheral下载到我的板子上,我的板子也是用P0的P0.2 P0.3作为串口的,我不管是用HCI TESTER还是串口助手都不能在仿真的时候看到数据,我在sbpSerialPacketParser函数里面打断点,然后用HCI Tester,程序不会在这里停止,这个函数应该是处理收到的HCI命令的啊,为什么没收到数据?我板子的串口已经是验证过可以的了,就是用之前论坛上的一个函数试过,可以收到0x55,所以我排除这个硬件问题,还有,这个串口接收是中断方式吧,到哪儿去找那个中断函数啊?

就像函数Hal_UART_RxBufLen一样,进去啥都没做,怎么能够得到数据长度,搞不清楚咋回事儿了!

Hi weixinag,

CC254x的uart用的是轮询的方式, 没有用中断模式. 通过osal_run_system()调用Hal_ProcessPoll()进行实现.

HI Yan

工程HostTestApp是用的轮询方式,CC2540EM中对应的宏开关HAL_UART  HAL_UART_DMA都打开了,但是SimpleBLEPeripheral以及LPRF Serial App中这两个都没有打开,我把这两个打开之后在dmaCfg.rxBuf中也看不到串口数据,是不是需要手动调用HalUARTRead函数才能够获取数据到dmaCfg.rxBuf中吗?可是我都没看到哪儿调用HalUARTRead函数!

晕了,我说怎么HostTestApp里面看不到调用HalUARTRead等函数的地方,原来在uartCB里面调用,还被封装起来了,晕死!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top