在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口,切记写错。