完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我是使用USART的新手,我想尝试发送“Hello World”到虚拟终端以便学习。我使用的是PIC18F2620。我为PIC设置的波特率是9600,在内部振荡器频率为8MHz。我使用了一个外围库,并使用“OpenUSART”将PIC设置为异步和高速。基于图片的数据表的spbrg公式是如下的异步模式,高速:Fosc/(16*(spbrg+1))=Baud Rate8 000 000/(16*(spbrg+1))=9600spbrg=51我注意到的然而,当我最终将PIC连接到虚拟终端并将其设置为波特率为9600时,它就发出了垃圾。我把虚拟终端的波特率降低到1200,效果良好。我用示波器确认了PIC传输的波特率,尽管我的计算是9600,但是它确实是1200。有人能解释一下为什么会发生这种情况吗?下面是我使用的代码,我使用的代码是===============================================================================================================================================================================================#将USE_OR_MASKS//setpins定义为初始的0x00voidmain(void){无符号char configUSARTUSART_TX_INT_ON&USART_TX_INT_ON&USART_RX_INT_ON_ON和&USART_ASYNCH_模式&USART_ASRT_ASYNCH_模式放大器;USART_ASRT_ASRT_ASYNCH_BIT_BIT&;USART_ASRT_ASRT_ASRT_RX_INT_INT_INT_INT_ON&USART_INT_INT_ON&USART_USART_TX_INT_INT_INT_INT_ON&USART;USART_ON和amp;USART;USART_USART_USART_USART_USART_USART_rsUSART("Hello World");.(BusyUSART)());返回;}
|
|
相关推荐
2个回答
|
|
嗨-我很抱歉没有深入研究你的代码而做出快速响应,但实际波特率是所需波特率的1/4,以及微控制器将晶体频率除以4的事实,似乎可能涉及到这个问题。一个16 MHz晶体运行在4兆赫的微型。这就是问题所在吗?对不起,如果我只添加混乱…
|
|
|
|
首先,你说把内部振荡器运行到8兆赫,但我看不出你在哪儿设定的。现在,你的实际波特值是你计算所暗示的值的八分之一。这告诉我Fosc实际上是1MHz,而不是您使用的8MHz。此外……由于1MHz是内部振荡器的默认值,而且我不知道您在什么地方写入了OSCCON,所以我认为它是如何工作的。最后……您没有显示任何配置信息,所以我无法实际验证您的观察,即使我有'2620(我没有)。底线……这是您的全部代码吗?记住,你展示的越多,越有可能有人帮助你钻到基岩,也许,提供具体的帮助。您可能还提到您正在使用的编译器和版本。有时它会影响人们的帮助。戴夫,问候。
|
|
|
|
只有小组成员才能发言,加入小组>>
5238 浏览 9 评论
2028 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3204 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
777浏览 1评论
666浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
595浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
676浏览 0评论
576浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 02:23 , Processed in 1.319134 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号