完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
修改了uart的时钟源为50M,twi也会被修改为50M。dts中给某一条twi总线设置的时钟频率为400k,但是实际测得该twi的时钟频率为833kHz。
twi的工作频率会根据时钟源自动计算最佳分频系数,从而分频而来的。可是为什么会分出800KHz的频率呢? |
|
相关推荐
1个回答
|
|
1、在R329中,uart和twi公用同一个时钟源——apb2。当用户想要修改uart的波特率为3M时,需要将apb2的时钟源修改成50MHz(原来apb2的时钟源为24MHz),这样twi的时钟源也会同时被修改成50MHz。
uart驱动的初始化级别为:module_init(sunxi_uart_init); 等级为6 twi驱动的初始化级别为:fs_initcall(sunxi_i2c_adap_init); 等级为5 当选用了i2c相关的regulator时,twi驱动的初始化级别则是更早:subsys_initcall(sunxi_i2c_adap_init); 等级为4 由此看出,uart初始化顺序比twi的要迟。 2、然后,因为要适配波特率才去修改apb2的时钟源,修改时钟源的代码是在uart中实现的。那么就是说,当uart初始化之后,apb2的时钟源才会更改成50MHz。在uart初始化之前apb2一直保持24MHz。 所以,在twi初始化的时候,是以24MHz这个频率去计算分频系数的。当twi分频系数已经写入寄存器后,这时候时钟源改变。所以就导致以24MHz的分频系数去分频50MHz,从而分出了833KHz的频率。 |
|
|
|
只有小组成员才能发言,加入小组>>
全志T113双核异构处理器的使用基于Tina Linux5.0——RTOS编译开发说明
512 浏览 0 评论
1120 浏览 1 评论
2951 浏览 0 评论
为了学习内核开发,大佬手搓了一个轻量级操作系统YiYiYa OS
2896 浏览 0 评论
1288 浏览 0 评论
【开源硬件大赛】基于全志V853设计的全功能BTB学习开发板
3450浏览 8评论
3105浏览 5评论
1876浏览 4评论
全志V85x硬件设计大赛作品精选第二期,快来Pick你心目中的最佳方案
88878浏览 3评论
3612浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 10:13 , Processed in 0.657497 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号