大家好!
本人是DSP的菜鸟,使用的芯片是28335,正在编写一段串口485的测试程序,测试工具是串口调试助手,完成后发现当配置寄存器波特率为9600时一切正常,当只改变波特率寄存器,调整到19200或者38400时测试出现异常,出现了格式错误,接收数据也错误,不知什么原因。因为仅仅改变了波特率的寄存器,其他的完全一样,可为什么在9600波特率下就好用?不知各位前辈是否遇见过类似的问题,还希望大家指点。
大家有什么建议更好,多多益善,期待大家的帮助!谢谢!
??????:
回复 Seven Han:
您好!
感谢您的建议!晶振应该是正常的,因为DSP还有其他功能,比如采样,屏幕等等,他们没有出现异常,但我确实没有具体观察,接下来我会想办法观察一下。当波特率提高到19200时,在接收中断里出现了错位标志位置位的情况,同时接收到的数据异常,由于使用的FIFO方式接收,接收寄存器同时出现了帧格式错误和奇偶校验错误。
我用的串口调试助手软件和USB转485进行的测试,测试中只是改变了波特率的高低寄存器,其他的根本没动过,所以出现错误我感觉很奇怪不知原因,现在的现象就是在4800和9600波特率完全正常,波特率在19200和38400时就出现错误了,简单点就是低速正常,高速就出现错误,485线的距离也就1米多吧,不知什么原因。
大家好!
本人是DSP的菜鸟,使用的芯片是28335,正在编写一段串口485的测试程序,测试工具是串口调试助手,完成后发现当配置寄存器波特率为9600时一切正常,当只改变波特率寄存器,调整到19200或者38400时测试出现异常,出现了格式错误,接收数据也错误,不知什么原因。因为仅仅改变了波特率的寄存器,其他的完全一样,可为什么在9600波特率下就好用?不知各位前辈是否遇见过类似的问题,还希望大家指点。
大家有什么建议更好,多多益善,期待大家的帮助!谢谢!
??????:
回复 mangui zhang:
您好!
感谢您的回帖,介绍一下我的工况,我使用的是串口调试助手和USB转485,DSP仿真器完成的测试工作,目前的程序只有接收功能,使用的是FIFO中断,每次操作都是重新烧写程序进行的测试,每次烧写完成都重新调整串口调试助手的波特率。
关于程序我前后只是修改了波特率寄存器的高低位,修改后重新烧写程序,全速运行,启动串口调试助手选择新的波特率连接测试的。都是同样的操作步骤,现象是这样的在4800和9600两个波特率下,接收一切正常,当波特率改成19200或者38400的情况下也能够进入中断只是,出现了数据接收错误和寄存器错误标志,操作前后的校验都没有改过,确定只修改了波特率,目前也就是在低速状态下一切正常,在高速状态下出现了错误,而且是每个数据都出错!
大家好!
本人是DSP的菜鸟,使用的芯片是28335,正在编写一段串口485的测试程序,测试工具是串口调试助手,完成后发现当配置寄存器波特率为9600时一切正常,当只改变波特率寄存器,调整到19200或者38400时测试出现异常,出现了格式错误,接收数据也错误,不知什么原因。因为仅仅改变了波特率的寄存器,其他的完全一样,可为什么在9600波特率下就好用?不知各位前辈是否遇见过类似的问题,还希望大家指点。
大家有什么建议更好,多多益善,期待大家的帮助!谢谢!
Rang Han:
回复 ??????:
你好!能把程序贴出来看看?这样方便大家查看。