完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
接收超时问题。如果没有接收超时功能,则在对方已经发送完毕而接收FIFO未填满时并不会触发中断(FIFO满才会触发中断),结果造成最后接收的有效数据得不到处理的问题。有了接收超时功能后,如果接收FIFO未填满而对方发送已经停,则在不超过3个数据的接收时间内就会触发超时中断,因此数据会照常得到处理。
----------------以上是网上关于FIFO 接收超时的资料, F28035 好像没有接收超时,那它是怎样处理的呢? |
|
相关推荐
4 个讨论
|
|
guigui_7044 发表于 2018-11-14 11:26 1、.如果Level设置为1,那FIFO 还有什么优势呢? 2、如果用软件定时 那不是过一段时间,就要去检测FIFO?而且这个定时程序是从始到终一直运行的。就算是上位机没有发送数据,我也要隔一段时间就去检测FIFO,因为不知道上位机什么时候会发数据过来 这两种方式,会比用普通模式(非FIFO)有优势吗? 还是我哪里理解不对? |
|
|
|
|
|
bwerwer 发表于 2018-11-14 11:38 wellsking, 软件定时的话其实也就是用timer自己做一个receive time out 功能而已,C2000的SCI确实没有这个receive timeout 功能,只能自己实现。 你可以这样子设置: 1. 在SCI的FIFO中断中reset timer的计数值,然后启动timer计数。 2. 使能timer中断,这样当timer定时时间到的时候,就是距离上一次成功接收到数据的时间,也就是receive 的timeout时间,然后在timer的中断里面读取FIFO的数据,如果有的话。然后关掉timer。这样timer就不会一直运行,只有在一次数据块的接收最后几个数据的时候产生作用。 但其实如果你要是使timer一定开着,其实就跟SCI的receive timeout一样,只要数据接收不够,时间一到,就产生中断。 就算是上位机没有发送数据,我也要隔一段时间就去检测FIFO,因为不知道上位机什么时候会发数据过来 那你要是在SCI 有timeout功能时,如果上位机没有数据来,也是一样会中断,回去查看数据的啊。 所以软件设置timeout跟sci本身的timeout并没有什么区别。 Eric - ERIC |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
351 浏览 1 评论
546 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
790 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
87浏览 29评论
326浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
262浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
211浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
69浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 05:43 , Processed in 0.923032 second(s), Total 65, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号