美文网首页
灵动微MM32F003硬件最小系统 --- 串口循环发送接收,变

灵动微MM32F003硬件最小系统 --- 串口循环发送接收,变

作者: 黄开通 | 来源:发表于2020-11-29 12:34 被阅读0次

    本例程用while循环收发串口数据,可以收发变长数据。

    main主程序流程

    int main(void)
    {
        u8 rx_cnt = 0, tx_flag;
        InitSystick();
        RCC_ConfigInit();
        GPIO_ConfigInit();
    
        Uart_ConfigInit(9600);
        UartSendGroup((u8*)printBuf, sprintf(printBuf, "sprintf ok\r\n"));          //pintf stdio data
        UartSendAscii("UartSendAscii\r\n");                                         //printf string
        UartSendAscii("Please input data ,end with '\\n' \r\n");
        while(1) {
    
            if(UART_GetFlagStatus(UART, UART_FLAG_RXAVL) == SET) {                      //check receive status
    
                UART_ClearFlag(UART, UART_FLAG_RXAVL);
                printBuf[rx_cnt % 100] = UART_ReceiveData(UART);
    
                if( printBuf[rx_cnt % 100] == '\n') {                                   //check '\n',and set send flag;
                    tx_flag = 1;
                }
    
                rx_cnt++;
            }
    
            if(tx_flag != 0) {
                UartSendGroup((u8*)printBuf, rx_cnt);                               //send data;
                rx_cnt = 0;                                                         //claer receive count;
                tx_flag = 0;                                                        //clear send flag;
            }
        }
    }
    

    官方例程的修正已基本完成,需要程序的同学可以到百度网盘下载。
    提取码:0o5i

    相关文章

      网友评论

          本文标题:灵动微MM32F003硬件最小系统 --- 串口循环发送接收,变

          本文链接:https://www.haomeiwen.com/subject/cbfkwktx.html