打印

CC2540 串口发送U0DBUF写数据没有效果

[复制链接]
2936|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hm_315|  楼主 | 2015-12-13 21:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在利用CC2540 和 BLE协议栈做一个小程序,用SimpleBLEPeripheral程序的话,串口实验没有问题。

但是自己做串口实验,其他程序自己写,同时使用了BLE协议栈的DMA和UART部分(感觉写的很好),然后配置也和SimpleBLEPeripheral一样。
最后做实验的时候发现死活发送不成功,比如发送"Hello",用串口助手查看,接收到的就只有0x00(16进制查看)。


然后我就仔细查看了_hal_uart_dma.c源代码,发现BLE是使用ISR发送程序,最后在UART0的中断程序中看到,UxDBUF 的赋值。
单步调试,发现缓冲区里面数据是对的,但是UxDBUF 的值就是不改变,而且串口助手也收不到数据。。。。


请问大家有相同的疑问吗?
HAL_ISR_FUNCTION( halUart0TxIsr, UTX0_VECTOR )
{
  HAL_ENTER_ISR();

  if (dmaCfg.txHead == dmaCfg.txTail)
  {
    IEN2 &= ~UTXxIE;
    dmaCfg.txMT = 1;
  }
  else
  {
    UTXxIF = 0;
    UxDBUF = dmaCfg.txBuf[dmaCfg.txHead++];

    if ((HAL_UART_DMA_TX_MAX != 256) && (dmaCfg.txHead >= HAL_UART_DMA_TX_MAX))
    {
      dmaCfg.txHead = 0;
    }
  }

  HAL_EXIT_ISR();
}

相关帖子

沙发
smilingangel| | 2015-12-13 22:50 | 只看该作者
那就先检查下两边的波特率是否一致的。

使用特权

评论回复
板凳
boy1990| | 2015-12-14 16:50 | 只看该作者
串口调试时特别注意波特率,其实是检测信号及命令

使用特权

评论回复
地板
毁灭2012| | 2015-12-14 16:58 | 只看该作者
程序还是参考厂家的资源比较好,自己写起来太麻烦了!!

使用特权

评论回复
5
xia00| | 2015-12-14 17:06 | 只看该作者
程序有问题,看看初始化

使用特权

评论回复
6
CallReceiver| | 2015-12-14 17:08 | 只看该作者
第一个if()判断看的不是很懂。。。

使用特权

评论回复
7
zhangbo1985| | 2015-12-15 14:42 | 只看该作者
这个就但不得调试测试下的,软件硬件上都检查下的。

使用特权

评论回复
8
hm_315|  楼主 | 2015-12-15 22:25 | 只看该作者
smilingangel 发表于 2015-12-13 22:50
那就先检查下两边的波特率是否一致的。

谢谢你的回复。
问题已经找到,主要在在利用BLE源代码的时候,没有注意IO的配置,结果前面设置为UART,后面的程序强制把它设置为普通IO,结果肯定没有输出了。

使用特权

评论回复
9
hm_315|  楼主 | 2015-12-15 22:26 | 只看该作者
问题已经找到,主要在在利用BLE源代码的时候,没有注意IO的配置,结果前面设置为UART,后面的程序强制把它设置为普通IO,结果肯定没有输出了。

使用特权

评论回复
10
baimiaocun2015| | 2015-12-15 22:33 | 只看该作者
BLE协议栈的DMA和UART?这个我怎没听说过的呀

使用特权

评论回复
11
tongbu2015| | 2015-12-16 13:18 | 只看该作者
再看下你的buff中的数据被及时读出来没

使用特权

评论回复
12
GBkachao| | 2016-6-26 23:29 | 只看该作者
hm_315 发表于 2015-12-15 22:26
问题已经找到,主要在在利用BLE源代码的时候,没有注意IO的配置,结果前面设置为UART,后面的程序强制把它 ...

我也遇到相同的问题,请问在哪里修改代码

使用特权

评论回复
13
houjiakai| | 2016-6-27 22:31 | 只看该作者
波特率是不是设置的问题

使用特权

评论回复
14
houjiakai| | 2016-6-27 22:33 | 只看该作者
发送单字节有效果吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

35

帖子

0

粉丝