OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4149|回复: 1

关于F4的定时器的问题,比较诡异

[复制链接]

37

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
308
金钱
308
注册时间
2012-9-27
在线时间
19 小时
发表于 2016-2-28 21:28:42 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 charly 于 2016-2-28 21:33 编辑

我现在用f4的定时器3定时1s然后串口输出一行字符,现在预分频值和重装载值都设置对了,但是串口输出的的时间间隔明显不是1s,基本上是5s左右。
然后看数据手册定时器3的时钟的是APB1,分频值设置的是0,那TIMER3的时钟就是84M的。之后我进硬件调试,调试用的JTLIN的sw模式调试的。进systemInit函数中,然后再进其中的SetSysClock函数中观察是否是时钟配置的问题,其中RCC->CR |= ((uint32_t)RCC_CR_HSEON)启动外部高速时钟之后,
执行HSEStatus = RCC->CR & RCC_CR_HSERDY;表示HSEStatus代表高速时钟就绪标志位,发现这个标志位一直是0,导致不能进下面的分频设置代码中,RCC->CR寄存器的值是0x00017883,之后我就调HSE_STARTUP_TIMEOUT这个延迟时间,默认值是0x0500,我调到0x5000,RCC->CR寄存器的值还是是0x00017883。之后我又把
HSE_VALUE设置成40 000 000,以前设置的是8 000 000,该值还是一样。做这些操作的时候,我的外设串口,spi,dma,io口都能正常工作。这我就不知道是怎么回事了。现在想问我如果在systeminit函数中分频设置HCLK,HCLK1,HCLK2都没成功,是不是串口之类的外设也会工作不正常啊,如果外部时钟不正常,那f4会自动切换的内部高速时钟吗?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2016-3-2 23:55:01 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 06:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表