STM32更换晶振后没及时修改定时器参数,导致运算出错
来源:互联网 发布:微博淘宝网页链接 编辑:程序博客网 时间:2024/04/20 10:45
记录一下今天的惨痛经历。
之前板子上面是11.0592M的晶振。现在把晶振换成了8M的,这样9倍频后可以跑72MHz.
但是我换了晶振后,没有及时修改TIM2里面进中断的时间,导致后面的一系列的运算出错。而且我排查了两个小时,一直没想到是这个参数错了。
还有就是keil5软件总体上比keil4好用很多。但是之前keil4有个满好的功能,就是在仿真的时候吗,它的外设选项点开后,能显示各个外设运行的时钟频率,,而现在的版本没有了。
这样我就不能直观的看到定时器的运行时钟了。不过也有一个笨点的办法能够看出来,那就是通过拉高拉低GPIO口,然后用示波器来看。
伪代码如下:
void TIMX_IRQ()
{
if(i == 0)
{
GPIO_Setbits(XXX); i = 1;
}
else
{
GPIO_Resetbits(xxxx); i = 0;
}
}
这样通过示波器观察这个IO口,就能推出定时器的时钟,最终也能确定系统时钟对不对。
主意:这里面有个小小的问题。就是用示波器看到的是方波信号,比如量下来是500Hz;但是高电平的时候和低电平的时候都是进了定时器的中断,所以定时器进中断的频率是1000Hz。
0 0
- STM32更换晶振后没及时修改定时器参数,导致运算出错
- 修改Hostname导致netca出错
- 修改环境变量导致命令出错
- 更换电脑 升级Xcode导致的pod出错
- stm32定时器的各项参数解释
- STM32关于uversion版本更换和MCU型号更换编译出错的解决办法、记录。
- 踩坑,gcc 参数顺序导致编译出错?
- Android修改修改JavaBean的属性导致Sqlite没有及时更新的问题
- STM32 定时器
- STM32.定时器
- STM32定时器
- STM32定时器
- STM32定时器
- stm32 定时器
- stm32 定时器
- STM32 定时器
- STM32 定时器
- STM32,定时器
- java 中LinkedList详解,附带一部分源码和ArrayList的比较
- Python机器学习算法速查
- 1.6:继承
- 用Spark学习矩阵分解推荐算法
- 常见C++面试题及基本知识点总结(一)
- STM32更换晶振后没及时修改定时器参数,导致运算出错
- Hibernate4-4 对象关系映射文件
- 自己动手系列——实现一个简单的LinkedLis
- 使用git命令行进行项目合并
- 【Java集合系列】---总体框架
- 第一行代码笔记 (fragment)碎片的使用
- leetcode412
- 算法训练 安慰奶牛
- Matlab | mex混编多个cpp文件