金牌会员
 
- 积分
- 1332
- 金钱
- 1332
- 注册时间
- 2021-1-2
- 在线时间
- 121 小时
|
本帖最后由 tongzhihong 于 2022-5-22 20:22 编辑
在stm32中f103中,如果程序不小心写错了,误操作了JTAG接口的 JTMS,JTCK,会是什么结果?
1、近来做项目,开始程序写得很顺,样机调起来很顺手,后来突然“工控屏”与开发板连接失效,昨天周六(单休)在公司调了一天,发现是一个初始化函数造成的。但这个部件的初始化,与开发板(stm32f103vct6)和“工控屏”的通信完全不相干,感到迷茫。
2、今天,周日,因项目催的紧,在家找这个程序的 bug, 最终发现: 本意是把 PE13,PE14 设置成 推挽输出,再初始化 PE13=0; PE14=0; 由于是拷贝复制的,没有完全修改好,把PA13,PA14 设置成了 推挽输出,PE13=0; PE14=0。
3、而 PA13,PA14,是 JTAG接口的 JTMS,JTCK,故我认为,是程序误操作了JTAG接口的 JTMS,JTCK,造成CPU乱了,是故障的原因。当然我也无法深层次解析。
4、到底,判断正不正确,明天上班,在公司的样机上,一试就清楚了。
5、也请高手,发表一下,见解。
6、完蛋了。 刚才,找了一块开发板,写了把JTAG接口的 JTMS,JTCK,(即PA13,PA14),设置成 推挽输出的语句, 一试,程序丝毫不受影响,仍能正常运行如初,说明我找的这个原因,不对。 万分沮怅。
7、柳岸花明又一村: 在我垂头丧气,只好出去走一走,但仍不甘心,放松下来,走到走到,脑壳来电了,突然,想到,这个部件的初始化函数中,还有 PC10,同样的情况,就是说,本意是把PC10设置成 “推挽输出”,但实际上是,误把 PA10(USART1_Rx)设置为了 “推挽输出”,这当然,就无法接收“工控屏”上传的信号,原来,真正的 bug 在这里,这就可以肯定是---“工控屏”与开发板连接失效的原因了,困扰两天的问题,终于迎刃而解了。 完美!!!
|
|