錯誤解決:串列埠1與串列埠3相同程式碼卻結果不同
阿新 • • 發佈:2018-12-18
在前幾天除錯openmv時發現同樣的程式碼串列埠1和串列埠3的結果卻是不一樣的,當時著實是把我坑了很久,怎麼都找不到原因,用示波器看波形也是沒有問題的,在Openedv網站上有位網友指出是我初始化程式碼的問題,在翻閱參考手冊後終於發現了問題。
下列程式碼為我原本的初始化程式碼:
#include "sys.h" #include "usart.h" #include "led.h" #include "usart3.h" int theta_err,rho_err; int main(void) { Stm32_Clock_Init(9); //=====系統時鐘設定 delay_init(72); //=====延時初始化 uart_init(72,115200); //=====初始化串列埠1 uart3_init(72,115200); //=====初始化串列埠3 LED_Init(); while(1) { LED=!LED; delay_ms(100); } }