完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一些奇怪的问题,AUSART接收机侧接收5伏UART信号使用PIC18LF8490与8MHz内部时钟运行,我认为这个问题与AUSART模块的初始化有关。我使用的是异步模式的AASART接收器和发射机,我将波特率设置为19200。通过AUSART发送数据可以正常工作,只要接收器引脚连接到5伏,但一旦我把AUSART的接收引脚连接到uart信号,我想接收PIC就什么都不做。似乎它总是重置自身。我敢打赌,当我初始化AXART模块时,我做了一些错误的事情。我现在使用下面的C代码来初始化AUSART模块:如果我不启用AUSART接收器,重置问题会立即消失,所以问题与AUSART的接收器端有关。我在pro模式下使用xc8来编译这个模块。发送19200波特完美的作品,但接收是不工作了。我正在使用接收中断把接收到的数据变成一个缓冲区,下面也用C写成XC8:我在这里丢失了什么?我已经阅读了从数据表中可以找到的关于异步模式下的AUSART模块的所有内容,以及关于PORTG的所有内容,并且似乎默认情况下没有其他外围设备试图驱动TX2和RX2引脚。
|
|
相关推荐
6个回答
|
|
UART无法使PIC复位。请确保您已经禁用了RX管脚上的任何模拟特性。请查看RCON寄存器,并尝试确定复位的原因(如果它实际上正在复位,而不是由于软件错误而跳转到地址0)。
|
|
|
|
您的中断代码从不检查“.”变量中是否有空间。您可以很容易地溢出它,并捣毁RAM的其余部分。噢,没想到您正在进行检查。在删除“strcat()”指令后,我仍然会重复您的测试。
|
|
|
|
这个问题与硬件和软件的组合有关。我删除了PORTG=0命令,此后代码开始工作,但是后来在uart的发送端出现了损坏,尤其是在发送小写字母时。我设法通过将波特率降低到9600而不是使用19200波特来解决发送损坏,所以看来我的PCB不适合设计用于更高速的串口通信,这是否可以像9600波特发送通过罚款,但19200不是?
|
|
|
|
你使用内部振荡器吗?如果是这样的话,UART通信可能不够精确。
|
|
|
|
是的,目前我们正在使用内部振荡器,因为我们正试图最小化外部组件的数量以简化设计和降低功耗。外部晶体会增加电能消耗吗?该设备大部分时间处于深度睡眠模式,并且它每隔几分钟通过看门狗警报或通过按钮按压来唤醒,从而在INT2上造成中断,并启用中断优先级。顺便问一下,是否有可能对INT2引脚使用内部弱上拉,以便当按钮拉动该引脚接地时,它会触发下降沿INT2中断?
|
|
|
|
内部和外部振荡器之间可能没有太大的电流差异,但是数据表会告诉你。就INT2而言,内部上拉与外部上拉没有任何不同。但检查数据表的电流消耗。
|
|
|
|
只有小组成员才能发言,加入小组>>
5160 浏览 9 评论
1998 浏览 8 评论
1927 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3170 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2225 浏览 5 评论
729浏览 1评论
613浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
503浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
628浏览 0评论
526浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 14:57 , Processed in 1.287204 second(s), Total 87, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号