不初始化串口,初始化IO口时会有问题的吗?

2019-07-20 12:44发布

先求助一下原子哥,我用的是F4的开发板,最近刚开始学的时候,发现一个很奇怪的事情,程序我放附件里。

注:我LED初始化的函数里,我更改了IO口为PF7和PF8(PF8默认连在蜂鸣器),同时在初始化中置高,还写了一个函数让其置低(该函数在while中循环),另做他用,只是重新保留了叫LED_Init();而已

串口的初始化——"uart_init(115200);",这个语句如果没有的话,只有LED_init和LCD_init初始化,蜂鸣器会响(即对应PF7和PF8都置高,whlie循环中置低不起作用)。我研究了很久发现以下几个情况


1:此时如果将LED_init和LCD_init两个函数初始化换位置,蜂鸣器就不响了,对应了PF7和PF8的IO口输出也正常为低电平。

2:此时如果将LED_init里的IO口在初始化时置低,蜂鸣器也不会响,,对应了PF7和PF8的IO口输出也正常为低电平。

另外还有两个问题:
1:我还在PPT里发现了这么一页,由于串口要打印LCD的ID,表明不初始化串口,LCD屏幕无法点亮,这里我在程序中找到了打印LCD ID的语句,但是判断LCD的ID进行初始化好像和串口无关啊?

2:上述PF7和PF8这两个IO口在串口程序和LCD程序中,都没有共用的情况,怎么就会导致他们缺少串口初始化就输出电平有问题,其他IO口会存在这个问题吗?(对于LCD和串口都没涉及到的IO口)

以上就是我昨天无意中发现的问题,因为纠结了很久,感觉不弄清楚很影响以后的学习,望原子哥能帮忙解答一下这个问题,论坛大佬们也帮忙解惑一下吧
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。