CH32V307 MRS printf 串口输出的问题。

在用ch32v307rct6 做一个串口交互的程序:想要先输出一个提示符号'#' 然后回显键入的非0x0d/0x0a 的字符,当键入0x0d/0x0a 后,显示整个字符串,换新行,显示'#'. 重复上述过程。

void usart_printf_test(void)

{


    uint8_t c,vnIn ;

    char vsBuf[64] = {0};


    printf("#");

    while(1) {

        if((c = USART_getchar())== 0x1b) break;

        if((c == 0x0d )||(c == 0x0a)) {

            if(vsBuf[0] != '\0') printf("%s",vsBuf);

            printf("\r\n");

            for(vnIn= 0; vnIn < 64; vnIn++) vsBuf[vnIn] = 0;

            vnIn = 0;

            printf("#");

        }

        else {

            printf("%c",c);

            vsBuf[vnIn++] = c;

            if(vnIn == 64) vnIn = 0;

        }

    }

    return ;

}

上述代码在keil 上编译下载到stm32f103 上没问题,移植到ch32v307 在MRS 编译下载到ch32v307 上始终不对,只按回车键,ch32v307 应该会送的字符时:0x0d 0x0a 0x23(#) , 但实际送回的顺序是:0x23 0x0d 0x0a ,无法实现在提示符后显示键入字符的功能。

您好,若方便,可将代码整体发过来看一下(lzs@wch.cn)


好的,在例程上改的。

icon_rar.gifUSART_Polling.rar



您好,你发我的例程编译有问题,路径不对且调用的函数查找不到,你可以将整个EVT发我,或者将用于STM32的可用代码发过来看一下(lzs@wch.cn)。


你好evt文件已发。


您好,邮件已回复,请注意查收


只有登录才能回复,可以选择微信账号登录