历史上的今天
今天是:2025年07月29日(星期二)
2019年07月29日 | STM32F407 定时器TIM3 出现
2019-07-29 来源:eefocus
今天准备用STM32F407定时器做个 定时周期扫描,想偷个懒,于是乎在在战舰的开发历程中复制出来一段,结果无尽的折磨人来了。首先看我复制的代码。


根据实际需要 我把代码改成这样了

几乎就是没动了。然而就是这么简单的 事出现问题了。

点击运行 本想看着小灯狂闪,结果坑爹了

进这个异常中断里了,这是什么鬼?
打开 fault report

并没有啥有用信息

右键 hardFault_Hander 并没有定位到问题。
在群里问来问去 ,都是一副高高在上的样子,认为问题很简单,程序问题(这不是废话吗,我也知道是程序问题,不知道是哪的问题)。折磨一下午。各种删 各种尝试 。无果。
无意间 中断里的屏蔽掉了 。
居然 没有 fault 了。
莫非问题 在这?
果断 换位置 组合尝试

这么写 没有问题 fault 问题就这么解决了 ,出乎意料!
总结: 后来有刷了一遍官方的历程 发现能正常运行。而我写的程序好使不行 ,差别在IO口程序翻转上,官方历程是通过地址映射 直接读取IO的值。我是通过调用库函数 实现IO翻转。
个人猜测原因(仅供参考,欢迎拍砖):由于我调用库函数的效率要比直接端口内存映射效率低一些,而这时
中断标志位没有清楚。又重新申请中断 导致出现fault错误。

进中断就清中断标志位,然后在执行相关操作,就不会出现该问题。
史海拾趣
|
设备和系统都是别人已经做好了的。我只是在上面开发。 现在想解决一个问题,我的软件安装到这个设备上之后,怎么才能保护她,被人拷贝走之后不能使用。 我现在能做的就只有在自己的软件上加点什么东西。WinCE系统和硬件是已经做好的。 我想过两 ...… 查看全部问答> |
|
大家好,我现在正在做关于zigbee实现矿井管理的设计,我想问问在井下的节点中用S3C44B0X处理器和cc2420实现行吗?他们容易连接电路图吗?软件编程是不是很复杂啊?急需解决,谢谢!… 查看全部问答> |
|
你好, 毕业之后,这两年一直呆在工厂,没有时间上网。所以eeworld也很少来了。 以前也不是搞这一块的,现在该行从事了这一行,发现eeworld也有这样一个板块,很开心!~只是奇怪的是,虽然目前wince流行,但是ucos等也都是有各自的前景,弄来一个 ...… 查看全部问答> |




