完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我使用pic16F1947和波特率38400的UART,DPS是8N1。为了配置串行端口,我们使用BRGH=1;//BRGH=1BRG16=1;//BRG16=0SPBRGH=0x00;//设置波特率38400SPBRGL=0xCF;//设置波特率38400CREN=1;//SYNC=0;//异步SPEN=1;//验证串行PORTTX9=0;// 8位TX9D=0;//TrMT=1;//RX9=0;//RX9D=0;//RCIE=0;出于某种原因,观察波特率为38700(为什么?)而不是38400,但没关系,因为它在误差范围之内。通常,在38700波特率的情况下,对于配置在38400:波特率38400=>;大小比特:2604166666666667e-6=>;1比特停止比特是:9*size=234375us,停止在10*size=260.416uSbaudrate 38700大小比特=>;2583979328165375e-6=>1比特。从2325558us到258.397,通常位的逻辑状态取在位的中间。所以,为什么我的示波器ktronixmdo4054b-3(它是一个好的示波器)告诉我在帧的末尾有帧错误?…
以上来自于百度翻译 以下为原文 Hi, I'm using the pic16F1947 and the UART at the baudrate 38400 and the DPS is 8N1. to configure the serial port we use that : BRGH = 1; // BRGH à 1 BRG16 = 1; // BRG16 à 0 SPBRGH = 0x00; // set baud rate to 38400 SPBRGL = 0xCF; // set baud rate to 38400 CREN = 1; // SYNC = 0; // asynchrone SPEN = 1; // validate serial port TX9 = 0; // 8 bit TX9D = 0; // TRMT = 1; // RX9 = 0; // RX9D = 0; // RCIE = 0; // is it correct ? for some reason the observe baudrate is 38700 ( why ?) and not 38400, but it's ok because it's within the margin error. Normally with a baudrate at 38700 the bit stop is detected correctly for a receiver configured at 38400: baudrate 38400 => size bit : 26,04166666666667e-6 => 1 bit stop bit is at : 9*size= 234,375 us and stop at 10*size= 260.416uS baudrate 38700 size bit => 25,83979328165375e-6 => 1 bit from 232,558 us to 258.397us normally the logic state of the bit is taken in the middle of the bit. So, why my oscillosope tektronix mdo4054b-3 ( it is a good one) tell that I've framing error at end of the frame ? .... |
|
相关推荐
2个回答
|
|
我认为这个错误来自我。因为当我完成发送帧时,我检查TRMT=1,如果是这种情况,我就停止发送块:TX1STAbits.TXEN=0;RC1STAbits.SPEN=1;RC1STAbits.CREN=1;
以上来自于百度翻译 以下为原文 I think that the error come from me. Because when I finished to send my frame, I check TRMT=1 and if it's the case, I stop the transmit block : TX1STAbits.TXEN = 0; RC1STAbits.SPEN = 1; RC1STAbits.CREN = 1; |
|
|
|
38700/3800=1.018,所以你是1.8%高。数据表显示的是内部振荡器的容差?PIC在讲什么?我希望它有水晶。
以上来自于百度翻译 以下为原文 38700 / 3800 = 1.018 so you are 1.8% High. What does the data sheet show as the tolerance of the Internal Oscillator? What is the PIC talking to? I hope it has a crystal. |
|
|
|
只有小组成员才能发言,加入小组>>
5184 浏览 9 评论
2005 浏览 8 评论
1932 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3179 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2230 浏览 5 评论
742浏览 1评论
629浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
512浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
641浏览 0评论
538浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 09:08 , Processed in 1.318466 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号