打印

GM32F103C-START开发板串口通讯问题

[复制链接]
1104|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Tomorrowtoday|  楼主 | 2022-7-4 16:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想做串口通信,使用这种方式接收,但在keil中单步运行时数组中收到的全是第一个字节,全速运行时收不到数据,是这种写法不能实现串口接收吗

void usart_config(void)//串口初始化
{
    /* enable GPIO clock */
    rcu_periph_clock_enable(RCU_GPIOA);
                rcu_periph_clock_enable(RCU_GPIOC);
    /* enable USART clock */
    rcu_periph_clock_enable(RCU_USART0);
               
    /* connect port to USARTx_Tx */
    gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);

    /* reset LED GPIO pin */
    /* connect port to USARTx_Rx */
                gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_10);

       
                gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_7);//复位引脚
       
    /* USART configure */
    usart_deinit(USART0);
    usart_word_length_set(USART0, USART_WL_9BIT);
    usart_stop_bit_set(USART0, USART_STB_2BIT);
    usart_parity_config(USART0, USART_PM_EVEN);
    usart_baudrate_set(USART0, 9600U);
               
                usart_hardware_flow_rts_config(USART0, USART_RTS_DISABLE);
    usart_hardware_flow_cts_config(USART0, USART_CTS_DISABLE);
                usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);
                usart_receive_config(USART0, USART_RECEIVE_ENABLE);

                usart_enable(USART0);
}


void Rece(unsigned char rece[], unsigned char k)
{
    int i;
    for(i=0;i<k;i++)
    {
      while( usart_interrupt_flag_get(USART0, USART_FLAG_RBNE) != RESET);
      rece= usart_data_receive(USART0);
    }

}


搜索
复制

使用特权

评论回复

相关帖子

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

本版积分规则

7

主题

170

帖子

0

粉丝