完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我在官方库里面发现波特率计算公式有一些出入,特此请教。
void UART0_BaudRateCfg(uint32_t baudrate){ uint32_t x; x = 10 * GetSysClock() / 8 / baudrate; x = (x + 5) / 10; R16_UART0_DL = (uint16_t)x;}疑问的点是为什么要先乘10,然后再加5除以10,这是在规避什么错误吗?因为看datasheet的公式是 波特率公式 =Fsys * 2 / R8_UARTx_DIV / 16 / R16_UARTx_DL,没有乘10除以10的步骤。 |
|
相关推荐
1个回答
|
|
|
先*10 是为了在不能被整除时,结合x = (x + 5) / 10;进行四舍五入的运算。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
376 浏览 0 评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
880 浏览 0 评论
1481 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
3432 浏览 2 评论
2838 浏览 1 评论
安卓手机支持外接otg扩展坞 然后使用ch340+ch9329控制电脑吗
1832浏览 1评论
1481浏览 1评论
377浏览 0评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
881浏览 0评论
484浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-12 05:53 , Processed in 1.323534 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1077