完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
大家好,我现在正在用PIC12F1822I制作波特率公式,以便使用:-4800波特;8比特;1停止比特;没有奇偶校验;只有TX。我根据公式设置SPBRG=2。eus+Hyperterminal我只有符号……我将附上代码以显示我的设置,也许我的代码没有错,或者我遗漏了寄存器中的一些东西。请原谅我,如果我遗漏了什么东西,我希望你能帮助与您的建议这个问题谢谢。
|
|
相关推荐
13个回答
|
|
|
代码行是一个空白页面,在第1行闪烁光标。
|
|
|
|
|
|
我现在可以上传代码了,我以前有问题。对不起的
|
|
|
|
|
|
您似乎已经选择了最坏的可能组合来选择波特率,即BRG16 off和BRGH off。这给您一个如此低的BRG值,以至于有一个巨大的误差。通过公式反向工作,您的实际波特率是1MHz/(64*(2+1))=5208波特。这是一个8.5%的误差。这就是wh的原因。当你在数据表中的BRG表中查找时,他们不会费心显示4800波特,只显示300和1200。如果你设置BRGH,并使用BRG值12,那么实际的波特率将是1MHz/(16*(12+1))=4807这是一个0.15%的错误,好得多。线表示振荡器频率由CONFIG字控制,但是您没有显示CONFIG字,所以我们根本无法验证您选择了什么。它应该等待直到缓冲区为空。
|
|
|
|
|
|
除了QHB的评论,我还要添加测试,如果移位寄存器是EMPTY不是我通常做的。如果测试TXIF,您将知道TXREG是否为空。这时你可以把另一个字节移到txReg中。你不必等到移位寄存器是空的为止。UART提供了一个字节缓冲区。注意在TXIF进入TXREG之后立即测试TXIF的数据表中的警告。这里有两个指令的延迟IIRC。一个样式说明:您可以立即将字节移动到TXREG中,就像现在这样使用代码。但是,如果你想要一个可靠的子程序(稍后),在移动一个字节之前检查它是否是空的。这样,无论输入时TXREG的状态如何,都可以调用代码。如果希望在退出时具有可预测的状态,则可以在退出之前测试任一状态位。目前没有退出,因为“虽然(1)”,但我认为这是暂时的。最后,你不使用中断。这很好,但是随着应用程序的增长,使用中断可能会提高性能。[添加编辑1。]
|
|
|
|
|
|
谢谢你的答复,对不起没有详细说明所有的信息,这是我的配置位:我将尝试使用该配置位,我不知道我还需要计算错误,现在我明白为什么这部分很重要,再次感谢您让我明白。代码与问题,我想我会做一个做…虽然
|
|
|
|
|
|
谢谢你的建议,我明天考试的时候会记住的。谢谢你和GlennP。我会把结果反馈给你。
|
|
|
|
|
|
我看不到…在帮助任何程序的同时。对于您当前的代码,只需翻转测试以测试相反的条件。我同意GlennP,测试TXIF比TRMT更有效,并且在您写到TXREG之前执行测试。我还忘了提及,您正在尝试将零值写到TRMT。这是毫无意义的,这是一个只读标志!尝试发送此代码
|
|
|
|
|
|
谢谢大家,行得通!我设置了SPBRG=12和BRGH bit=1,这返回了我正在寻找的值(A-Z)。我希望这条线能帮助任何一个像我一样被踩死的人!现在我来看看如何设置一个定时器来发送数据,每一个固定的时间。
|
|
|
|
|
|
嗨,同意了。测试TRMT只有在非常特殊的情况下才有用。我只用了一次时间,它就是等待最后一个字符被发送,然后进入睡眠模式。只要2美分……最好问候Jorge
|
|
|
|
|
|
你好,我建议你使用MCC插件。它将帮助您轻松地初始化外围设备并查看如何初始化问候语。
|
|
|
|
|
|
FabiiPI,你想在1MHz运行PIC有什么特别的原因吗?你也可以同样容易地在16MHz下运行(或者甚至32MHz,如果你使用内部锁相环)。跑得更快确实需要更多的功率,但是那真的只在你试图从电池获得超低功率时才重要。所有事情都以更高的速度变得更容易,包括波特率的产生。
|
|
|
|
|
|
qhb,项目要求是我想以1Mhz运行PIC的原因。我理解你的观点,总是以更高的速度更容易。然而,有了你提供的信息,我可以正确地设置USART。谢谢!
|
|
|
|
|
|
RISC,我以前用过MCC,它看起来很棒,但是它生成了很多不必要的代码。对我来说学习寄存器如何正常工作也是最好的。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
5243 浏览 9 评论
2035 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3208 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2258 浏览 5 评论
779浏览 1评论
672浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
598浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
682浏览 0评论
579浏览 0评论
/7
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 21:46 , Processed in 1.806172 second(s), Total 102, Slave 86 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
8121