在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口,切記寫錯。