CH573 CH582 CH579外設UART例程講解(更改打印串口)


在WCH官網CH57x/CH58x例程中,所有的打印都是使用的串口1,串口1發送為PA9,配置為輸出模式,在每個例程中都會有,想使用其他的串口則也需要配置相應的IO為輸出模式,然后將宏定義DEBUG從1更改為0,2,3,則對應着串口0,2,3。DEBUG的修改在屬性里修改,可參考有關MounRiver添加全局宏定義。修改DEBUG定義在哪里起作用了可以看sys.c文件的最下面的代碼。

發現很多小伙伴看了之后還是不會修改,可能跟我沒有貼代碼有關吧,那就在下面貼點初始化的代碼吧。

在學會如何修改DEBUG宏定義之后,

首先看看串口1的配置吧,在例程中都是使用串口1,那么就一定有這三行代碼:

GPIOA_SetBits(bTXD1);                                                                    // bTXD1為GPIO_Pin_9及PA9 //bRXD1為GPIO_Pin_8及PA8 
GPIOA_ModeCfg(bTXD1, GPIO_ModeOut_PP_5mA);
UART1_DefInit();

那么修改為串口0就模仿它就OK了,

GPIOB_SetBits(bTXD0);                                                                    // bTXD0為GPIO_Pin_7及PB7 //bRXD0為GPIO_Pin_4及PB4
GPIOB_ModeCfg(bTXD0, GPIO_ModeOut_PP_5mA);
UART0_DefInit();                                                                                //這個函數所在的.C文件可能是灰色的,沒有加入編譯,右擊選擇參與編譯一下

那串口2就更簡單了,

GPIOB_SetBits(bTXD2);                                                                    // bTXD2為GPIO_Pin_23及PB23 //bRXD2為GPIO_Pin_22及PB22
GPIOB_ModeCfg(bTXD2, GPIO_ModeOut_PP_5mA);
UART2_DefInit();                                                                                //這個函數所在的.C文件可能是灰色的,沒有加入編譯,右擊選擇參與編譯一下

使用串口2的時候要注意了,PB23是復位引腳,想使用這個串口的時候,使用isp工具下載時,把使能RST的勾去掉。

最后就是串口3了,

GPIOA_SetBits(bTXD3);                                                                    // bTXD3為GPIO_Pin_5及PA5 //bRXD3為GPIO_Pin_4及PA4
GPIOA_ModeCfg(bTXD3, GPIO_ModeOut_PP_5mA);
UART3_DefInit();                                                                                //這個函數所在的.C文件可能是灰色的,沒有加入編譯,右擊選擇參與編譯一下

如果發現仍不可用,那么有可能你選擇的是一個串口的映射腳,一般映射腳在手冊中會這樣標注:TXD0_ 

是有下划線的,這個時候需要先調用GPIOPinRemap(ENABLE, RB_PIN_UART0);

GPIOA_SetBits(bTXD0_);                                                                    // bTXD0_為GPIO_Pin_14及PA14 //bRXD0為GPIO_Pin_15及PA15
GPIOA_ModeCfg(bTXD0_, GPIO_ModeOut_PP_5mA);
UART0_DefInit();                                                                                //這個函數所在的.C文件可能是灰色的,沒有加入編譯,右擊選擇參與編譯一下

在初始化IO的時候一定要注意,初始化引腳是PA口還是PB口,切記寫錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM