本帖最后由 peterLaw 于 2023-10-12 09:10 编辑
上次咱们详细介绍了CH32X035的环境介绍以及入门点灯程序,下面咱们说一下CH32X035的串口收发实验。
串口通信目前主流的与上位机通讯协议,CH32X035有4 组通用同步异步收发器(USART1/2/3/4)。
支持全双工异步串口通信、同步单向通信以及半双工单线通信,也支持 LIN(局部互连网),兼容 ISO7816
的智能卡协议和 IrDA SIR ENDEC 传输编解码规范,以及调制解调器(CTS/RTS 硬件流控)操作,还支持多
处理器通信。其采用分数波特率发生器系统,并支持 DMA 操作连续通讯。
通过原理图查询得知PB10以及PB11为串口1通信,结合上次的点灯程序进行串口输出,当灯亮时输出LED ON,当灯灭时输出LED OFF。
很重要的注意事项:
由于评估板串口输出的为TTL电平,所以PB10和PB11端子必须接到接收TTL电平的串口模块上,否则会出现显示数据不正确的问题,正好
WCH-Link下载器上有RX和TX接收电平的引脚只需接到WCH-Link下载器即可,接线如下:
打开调试助手,达到需要的监测信息如下图:
串口配置程序如下:
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
|