打印
[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测试报告】+ AVR128DA48串口通讯的继续测试

[复制链接]
816|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 hu9jj 于 2021-5-7 09:06 编辑

    我的AVR128DB48核心板被我不慎变砖之后,为了能继续我的多功能时钟的实验,我就将原来的一块AVR128DA48核心板拿来顶替。别看两块核心板虽然只有DA和DB一字之差,但移植还是花了不少时间,主要体现在延时函数的调整。
    目前大部分代码才能正常运行,但串口通讯依旧成为了瓶颈,原来在AVR128DA48的测试活动中,我的串口通讯实验就没有成功(帖子链接https://bbs.21ic.com/icview-3012140-1-1.html),主要是设置波特率的代码不完整,造成编译出错。这次我尝试参照AVR128DB48的设置进行测试,结果仍然不成功,接收到的数据仍然不正确,下图为我修改的宏定义部分:


    这是串口调试助手接收到的数据:


    请问第一图红框中的数值应该为多少呢?
    我的主频配置如下:


    我配置了三个串口,波特率均配置为9600:


    我尝试在串口调试助手中改变接收的波特率,每次收到的数据都会不同,但都不正确,当波特率选择为11520及更高时,收到的数据全为零。

使用特权

评论回复
沙发
hu9jj|  楼主 | 2021-5-7 08:10 | 只看该作者
    经过参考其他芯片的代码,并通过反复修改串口调试助手接收的波特率,终于摸索到了串口通讯正确的参数,串口调试助手接收到了正确的数据。    我首先是参照AVR128DB48相同主频下所生成的代码,将波特率宏定义的参数设置成16000000(见下图):



    然后不断修改串口调试助手的波特率设置,当选择到2400时,串口调试助手接收到正确的数据:


    据此分析,然后将前述的宏定义参数缩小四倍,改为4000000,再进行测试,终于将这个问题解决了。下面是最后修改的参数:


    这是串口调试助手最后接收的截图:


使用特权

评论回复
板凳
pzsh| | 2021-5-25 10:31 | 只看该作者
本帖最后由 pzsh 于 2021-5-25 10:34 编辑

AVR128DB48核心板变砖? 短路烧坏芯片了?看到了: https://bbs.21ic.com/icview-3129258-1-1.html

使用特权

评论回复
地板
hu9jj|  楼主 | 2021-5-25 11:53 | 只看该作者
pzsh 发表于 2021-5-25 10:31
AVR128DB48核心板变砖? 短路烧坏芯片了?看到了: https://bbs.21ic.com/icview-3129258-1-1.html ...

准确说是被高电压地击穿的,现在只好拿之前的AVR128DA48来继续测试。

使用特权

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

本版积分规则

认证:Microchip
简介:让我们来为您提供帮助。我们可提供各种资源来帮助您解决一切问题。是否需要与我们的客户支持团队联系?您可以通过电话、在线聊天功能或电子邮件与他们联系。

144

主题

1031

帖子

11

粉丝