查看: 2391|回复: 0

【GD32F207】串口的使用配置

[复制链接]
  • TA的每日心情
    奋斗
    2023-7-6 08:48
  • 签到天数: 169 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2016-8-3 08:54:40 | 显示全部楼层 |阅读模式
    分享到:
    UART1通过 CH340 芯片,转 USB 接口连接 PC。
    原理图部分如下:

    串口使用的两个引脚是PB6、PB7,那么要对这两个引脚进行初始化:
      GPIO_InitStructure.GPIO_Pin     = GPIO_PIN_6 ;    GPIO_InitStructure.GPIO_Mode    = GPIO_MODE_AF_PP;    GPIO_InitStructure.GPIO_Speed   = GPIO_SPEED_50MHZ;    GPIO_Init( GPIOB , &GPIO_InitStructure);    GPIO_InitStructure.GPIO_Pin     = GPIO_PIN_7;    GPIO_InitStructure.GPIO_Mode    = GPIO_MODE_IN_FLOATING;;    GPIO_Init( GPIOB , &GPIO_InitStructure);    GPIO_PinRemapConfig(GPIO_REMAP_USART1, ENABLE);之后就是对串口1的配置:
    波特率选择的是115200,数据是8位,1个停止位,无校验。
       USART_InitStructure.USART_BRR                 = 115200;    USART_InitStructure.USART_WL                  = USART_WL_8B;    USART_InitStructure.USART_STBits              = USART_STBITS_1;    USART_InitStructure.USART_Parity              = USART_PARITY_RESET;    USART_InitStructure.USART_HardwareFlowControl = USART_HARDWAREFLOWCONTROL_NONE;    USART_InitStructure.USART_RxorTx              = USART_RXORTX_RX | USART_RXORTX_TX;    USART_Init(USART1, &USART_InitStructure);    /* USART enable */    USART_Enable(USART1, ENABLE);                    USART_INT_Set(USART1, USART_INT_RBNE, ENABLE);            /* Enable the USARTx Interrupt */    NVIC_InitStructure.NVIC_IRQ = USART1_IRQn;    NVIC_InitStructure.NVIC_IRQPreemptPriority = 0;    NVIC_InitStructure.NVIC_IRQSubPriority = 0;    NVIC_InitStructure.NVIC_IRQEnable = ENABLE;    NVIC_Init(&NVIC_InitStructure);这里使用了串口1 的接收中断,从启动文件中可以找到,中断函数的名字是USART1_IRQHandler,在gd32F20x_it.c中新建这个函数。

    先实现了最简单的loopback功能的中断服务函数:
    void USART1_IRQHandler(void){        unsigned int temp;        if(USART_GetIntBitState(USART1, USART_INT_RBNE) != RESET)        {                temp=USART_DataReceive(USART1);                USART_DataSend(USART1, temp);        }         if(USART_GetIntBitState(USART1, USART_INT_TBE) != RESET)    {                                 USART_INT_Set(USART1, USART_INT_TBE, DISABLE);        }}
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-20 16:34 , Processed in 0.109193 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.