完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
芯片手册上说,当SSI从模式时,系统时钟至少是SSICLK的12倍。
我的问题是,这句话中,这个系统时钟与API函数SSIConfigSetExpClk()中的第二个参数是什么关系? 举例说,我的系统时钟设置为40MHz,SSIConfigSetExpClk()的第二个参数取40MHz/20=2MHz, 那么,我的SSICLK是不能大于40/12MHz呢 还是2/12MHz ? |
|
相关推荐
7 个讨论
|
|
映像2016 发表于 2019-8-28 13:48 我没能很清楚的理解你的问题。 在SSI.C中: ulMaxBitRate = ulSSIClk(第二个参数) / ulBitRate(第5个参数,也就是设定的SSIClk); ulPreDiv = 0; do [ ulPreDiv += 2; ulSCR = (ulMaxBitRate / ulPreDiv) - 1; ] while(ulSCR > 255); 上面通过计算,得到合适的ulPreDiv 和ulSCR值,也就是之后赋给SSICPSR和SSICR0[SCR]的值。 如果第二个参数给了一个不是系统时钟的值,那么得到的结果就没有意义。 SSI的时钟计算公式: SSIClk = SysClk / (CPSDVSR * (1 + SCR)) |
|
|
|
|
|
Emily1225 发表于 2019-8-28 13:55 SSIConfigSetExpClk()中第二个参数提供MCU中送到SSI模块的时钟的速度。有了SSI时钟速度,就可以计算出寄存器应该配置成多少才能获得你所需的波特率(ulBitRate参数)。之所以要提供这个参数是因为SSIConfigSetExpClk函数无法获得当前MCU系统时钟(即SSI模块时钟)的速度,所以需要用户提供。若系统时钟为40MHz该参数就应该为40,000,000;若系统时钟为80MHz,该参数就为80,000,000。也可以用SysCtlClockGet()函数获得系统的速度传入。 “SSI从模式时,系统时钟至少是SSICLK的12倍”,也就是说从模式下,当系统时钟为40MHz时,SSI模块最高的速率只能配置为3.333333MHz (40MHz / 12)。即ulBitRate参数(SSIConfigSetExpClk中第五个参数)最多只能配置为3,333,333。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
832 浏览 1 评论
1071 浏览 0 评论
620 浏览 1 评论
469 浏览 1 评论
663 浏览 2 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
266浏览 29评论
1228浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
360浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
337浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
204浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-7 06:25 , Processed in 0.857531 second(s), Total 55, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191