完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-6-6 15:17 编辑
德州的技术工程师们: 我采用cc2531+zstack2.5.1a来做一个串口数据透传模块,将无线收到的数据通过485发送给设备,或将通过设备得到的数据通过无线发送到网络。现在的一个问题是程序中需要控制485的收发数据方向,我想将模块平常设置为接收数据,需要发送数据时才置为发送方向,一旦发送完成立即切换回接收方向。 现在的问题是,我不知道何时数据已经发送完成。目前采用计时的方式,根据发送字节定时一定时间后切换回接收,这样处理在数据收发频繁的时候效果不好,会丢包。我注意到串口驱动里边有Hal_UART_TxBufLen() 函数,查询发送缓存,但是不能使用该函数。另外我还看到hal_uart.h中定义了一个HAL_UART_TX_EMPTY 的串口发送空的事件,但是不知道怎么才能使用该事件。请教德州的技术们,我该如何操作,或者有其他更好的解决办法? 另外我使用的ti提供sampleAPP工程进行修改,串口数据读取和发送采用的DMA方式。 |
|
相关推荐
4个回答
|
|
参考了下这个帖子的修改方法:
http://e2e.ti.com/support/low_power_rf/f/158/t/85122.aspx 试验证明能通过。将DMA转换为ISR的办法是: 我在编译选项里边增加了两条 HAL_UART_DMA=0 HAL_UART_ISR=1 另外修改的程序不知道路径在什么地方,我是通过sourceinsight 找到这里然后修改的,只知道文件名是 _hal_uart_isr.c MicroWait() 函数需要添加头文件 OnBoard.h |
|
|
|
另外我还有个问题需要请教,就是串口在进行数据透传的时候,如果发送频率小于600ms,就会感觉停顿,即有数据包丢失。
我的试验是 协调器 发送一个命令(12字节) 到路由,其中一个路由接了一个设备,收到这个命令后会立即返回一个数据包(25字节) 测试的时候,协调器发送间隔设置为 小于600ms时,协调接收到的数据包就会正常接收几个后 就停一下,然后继续收几个又停一次。 请问大家谁遇到类似的问题了么?或者有什么好的方法找出是是么原因? |
|
|
|
chm6 发表于 2018-6-6 06:40 有没有ED类型的设备?如果有,ED采用POLL的方式,他的父节点帮他缓存数据,等待ED来提取。那显然缓存是有限的,缓存会保持一段时间,如果它满了,这段时间你又有数据进来,它存不下肯定丢失。你可以提高POLL的速度,或者把设备改为Router试试。 |
|
|
|
shenzhenqide 发表于 2018-6-6 06:53 没有,设备为1一个协调+2个路由。 我发送无线信息时,地址用的 组。和这个有关系没? 我仿真看了下,找到原因是因为下面的路由设备发送无线信息的时候失败,然后重新进行发送。造成上面接收到数据延迟了,所以看起来有停顿的现象。 但是让我不理解的是,发送不成功也这么有规律吗?按道理来说600ms一次并不频繁,因为他们双方传送的数据包都不大。 大家能指点下这个是什么原因造成的吗? |
|
|
|
只有小组成员才能发言,加入小组>>
348 浏览 1 评论
543 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
789 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
79浏览 29评论
274浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
261浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
210浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
68浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 08:59 , Processed in 1.176739 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号