8138|4

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

stm32I2C在keil里的频率怎么设置 [复制链接]

板子上用的是外置的11.0592M 的, 调试时,不管我怎么设置pll的倍频数,I2C的调试窗口总是显示freq设置错误。不明白这个设置还有什么讲究吗?我看了那个函数,是取了硬件时钟后自己设置的(我用的他们的库)。那个取回的硬件时钟频率似乎有问题。
另外这个会影响到I2C 的调试吗?
我在checkevent的时候单步时总是出错,addr位总是在进入checkevent函数的同时被清掉。难道说这个是keil的仿真有问题或者其他的原因?当我连续运行的时候,前面几次的发送不会有问题,但是后面还是会死在checkevent那里。
网上查了,说stm32的I2C确实有问题,很多人都碰到了。而且官方都已经默认了?!这真的假的?
还请高手指点。
此帖出自stm32/stm8论坛

最新回复

                                 由于Keil软件里面将STM32的软件库编译成了*.lib,在这个文件是按照晶振为8MHz编译的,如果使用其它频率,需要改变固件库的参数后重新编译。 所以如果客户使用非8MHz的晶振,在使用Keil时,不要使用那个lib文件,使用ST的软件库源代码的底层驱动进行编译调试。  详情 回复 发表于 2010-5-24 10:09
点赞 关注
 

回复
举报

63

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
1)固件库是按照晶振为8MHz编译的,如果使用其它频率,需要改变固件库的参数后重新编译。
2)I2C的硬件模块是有一些问题,不需要默认,这些问题已经列在STM32的勘误手册中。很多人碰到问题,有硬件模块的问题,但多数是没有使用好。建议不要自己写I2C的驱动,而是使用现成的函数库。
此帖出自stm32/stm8论坛
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢斑竹了。
我也不想自己写驱动啊,我再试试,今早找了点资料。
此帖出自stm32/stm8论坛
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
我用keil调试板子,板子上的时钟是11.0592的,pll倍频6,66M左右。I2C的频率我设置100K,可是keil调试时总是显示FREQ设置错误,而且keil计算的频率也只有24K左右。我跟踪了那个初始化i2c的函数,按照公式和函数表达式的结果应该可以到100K的啊,可为什么总出错呢?
另外keil里的时钟到底要不要和实际始终一致啊?以前没怎么搞过这些东西,现在发现还真挺麻烦的。
请高手指点指点了。
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 
由于Keil软件里面将STM32的软件库编译成了*.lib,在这个文件是按照晶振为8MHz编译的,如果使用其它频率,需要改变固件库的参数后重新编译。
所以如果客户使用非8MHz的晶振,在使用Keil时,不要使用那个lib文件,使用ST的软件库源代码的底层驱动进行编译调试。
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表