发 帖  
原厂入驻New
[问答] PIC24 UART接收问题
37 PIC24 控制器 UART
分享
大家好,我们使用的是PIC24FJ64 GA44控制器,内部FRC为8MHz。1。请告知,这些设置对UART通信是否正确?!U1MODEBITS。BRGH=1;/标准速度MODEU1BRG=8;/波特率设置为1152002。通过这些设置,我们能够以适当的方式与PC(使用终端)通信,但是当我检查两个PIC之间的通信时,UART接收具有垃圾值。即使我从PIC到其他控制器检查,通信也没有发生。请给出一个解决方案。4。谁能帮我们了解一下字符串的UART接收功能呢?
0
2019-10-21 14:17:04   评论 分享淘帖 邀请回答

相关问题

3个回答
我假设你不使用硬件握手,只有在你的PIC设置的RX,TX。和“适当”的手段,你可以发送到PC,你也可以收到字符发送从PC与您的照片,对不对?如果您没有检查从您的PC终端接收字符,首先要这样做。否则我不明白您为什么需要对问题4的帮助,您应该已经实现了?我不明白你想说什么用3。最好重新措辞。如果你可以与PC双向通信,显然你已经正确地设置了PIC。对于调试来说,当与另一个PIC通信时,请集中注意这些差异。使用相同的固件(对称?)是相同的PIC设备吗?你在两张图片之间有GND连接吗?此外,您可能使用不同的电缆,没有转换器,因此可能会有所不同。而且,只要它不工作,您应该将波特率降低到例如9600波特,这样可能出现的问题的数量可以最小化。如果波特率是个问题,请查看DS39708B BRG计算公式21-2,但也请参阅示例21-1中的波特率误差计算,以便对BRGH=1进行类似的计算。如果所有这些都不起作用,请描述“垃圾值”,以及如何处理EY与PIC发送的字符相关,并添加一些源代码(PICS)。
2019-10-21 14:27:07 评论

举报

注意,内部振荡器不是很精确,您说您的设计基于FRC内部振荡器,所以您必须计算两个最坏情况之间的定时不精确。因为PIC振荡器频率和串行时钟之间的紧密关系,所以波特率很高。假设你有两个PIC:s,每个PIC:s都有相反方向的偏差,那么很可能在每一个PIC上,通信都朝着PC工作,PC使用晶体控制的振荡器D通常具有良好的波特率精度。但是,当你把两个PIC:s挂钩在一起时,你离开允许的时序带,开始接收垃圾。最后,如果你不在一个突发背靠背中发送许多字符,而是在字符之间插入一个小的空闲时间,那么UART:s将有时间重新同步,并且问题i不那么严重。但是真的,改变你的设计,并添加一个晶体来控制振荡器频率,这样你的误差将只由于PIC中的分频器的限制!您还应该考虑将振荡器频率增加到32MHz(给出FCY=16MHz),这将有助于找到导致小波特率偏差的寄存器设置。
2019-10-21 14:32:43 评论

举报

嗨,好的,谢谢你的答复。我会检查这些东西,然后回复你。谢谢和问候,Harini B。

只有小组成员才能发言,加入小组>>

58个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表