emmmm,作为一个初学的菜鸡,在学习I2C实验时用了野火的程序,看到自己板子叫个不停,而且串口乱码,当时慌得一批,还以为短路了。
先是上网搜索,发现正点原子探索者板子的晶振是8MHZ,而野火的是25MHZ.
所以改 #define HSE_VALUE ((uint32_t)25000000)
为#define HSE_VALUE ((uint32_t)8000000)
PLL_M宏定义也改为8
然后串口乱码问题解决了,然后板子还是叫。
思考了一下,然后去找了一下正点原子的板子原理图
很明显,BEEP为高电平,三极管导通,然后BEEP会一直响。
那么,是不是野火对这个引脚进行了拉高处理呢?
一看引脚图,PF8。嗯,好像很眼熟。
再去野火代码里看看,果不其然,LED3蓝色的灯,这不就是PF8
而且默认关闭是 OFF 1。
这下找到了,在主函数里,强制拉低
不叫了,通信也能正常进行了。
这个改进办法肯定会有很多不便之处,以后会进一步的改进。(大佬勿喷)
通过这个事件也提醒我遇到事情不要慌,要仔细思考,去剖析背后的原因,也可以学到不少的东西。