打印
[开发板]

CW32L010串口输出

[复制链接]
300|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 meiyaolei 于 2024-12-30 00:02 编辑

CW32L010是一款集成了丰富功能的低功耗微控制器,其串口输出功能是通过其内部的通用异步收发器(UART)实现的。

一、串口硬件资源
CW32L010提供了二路低功耗UART,这些UART接口支持异步全双工、同步半双工和单线半双工模式,以及多机通信。



二、串口配置与初始化
在使用CW32L010的串口输出功能之前,需要进行相应的配置与初始化。通常包括设置波特率、数据位、停止位、校验位等参数,以及配置相关的GPIO引脚。

波特率设置:波特率是指串口通信的速率,CW32L010的UART接口支持广泛的波特率选择,可以通过小数波特率发生器提供精确的波特率。
数据位设置:数据位是指串口通信中每个数据帧的位数,CW32L010支持标准的数据位长度,如7位或8位。
停止位设置:停止位用于标识数据帧的结束,CW32L010支持1位或2位停止位的选择。
校验位设置:校验位用于检测数据传输中的错误,CW32L010支持无奇偶校验、奇校验和偶校验三种模式。
GPIO引脚配置:需要将指定的GPIO引脚配置为UART功能,包括TX(发送)和RX(接收)引脚。

三、串口通信的实现
在配置和初始化完成后,就可以通过CW32L010的UART接口进行串口通信了。这通常包括数据的发送和接收两个过程。

数据发送:通过调用相关的UART发送函数,将数据帧发送到串口总线上。CW32L010的UART接口支持硬件数据流控制,可以在发送过程中自动处理数据的流动。
数据接收:通过轮询或中断的方式,接收来自串口总线的数据帧。当接收到数据时,可以触发中断或产生状态标志,以便及时处理接收到的数据。

四、代码:
串口配置:
void UART_Configuration(void)
{
    UART_InitTypeDef UART_InitStructure = {0};

    UART_InitStructure.UART_BaudRate = DEBUG_UART_BaudRate;
    UART_InitStructure.UART_Over = UART_Over_16;
    UART_InitStructure.UART_Source = UART_Source_PCLK;
    UART_InitStructure.UART_UclkFreq = DEBUG_UART_UclkFreq;
    UART_InitStructure.UART_StartBit = UART_StartBit_FE;
    UART_InitStructure.UART_StopBits = UART_StopBits_1;
    UART_InitStructure.UART_Parity = UART_Parity_No ;
    UART_InitStructure.UART_HardwareFlowControl = UART_HardwareFlowControl_None;
    UART_InitStructure.UART_Mode = UART_Mode_Rx | UART_Mode_Tx;
    UART_Init(DEBUG_UARTx, &UART_InitStructure);
}
主函数:
    //配置RCC
    RCC_Configuration();

    //配置GPIO
    GPIO_Configuration();

    //配置UART
    UART_Configuration();

    //使能UARTx RC中断
    UART_ITConfig(DEBUG_UARTx, UART_IT_RC, ENABLE);
    UART_SendString(DEBUG_UARTx, "\r\nCW32L010 UART Interrupt\r\n");
    printf("\r\nCW32L010\r\n");
        UART_ClearITPendingBit(CW_UART2, UART_IT_RC);
    while(1)
    {
                //轮询收发
        TxRxBufferSize = UART_RecvBuf_Polling(DEBUG_UARTx, TxRxBuffer);
        UART_SendBuf_Polling(DEBUG_UARTx, TxRxBuffer, TxRxBufferSize);
    }
五.原理图:
串口芯片CH340芯片连接图:
TYPE C接口输入:


六.输出结果 :

使用特权

评论回复
沙发
CW32L010串口输出

使用特权

评论回复
板凳
OKAKAKO| | 2025-1-22 09:05 | 只看该作者
CW32L010提供了二路低功耗UART,这些UART接口支持异步全双工、同步半双工和单线半双工模式,以及多机通信。

使用特权

评论回复
地板
星辰大海不退缩| | 2025-1-23 19:03 | 只看该作者
使用CW32L010的串口输出功能之前,需要进行相应的配置与初始化。

使用特权

评论回复
5
AdaMaYun| | 2025-1-25 22:58 | 只看该作者
CW32L010是一款集成了丰富功能的低功耗微控制器,其串口输出功能是通过其内部的通用异步收发器(UART)实现的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:工程师
简介:超越自我,为设计激发灵感和想象。

196

主题

715

帖子

4

粉丝