打印

STM32串口函数中尝试用scanf函数实现回显,但是编译出错,求帮忙。

[复制链接]
403|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电员师|  楼主 | 2019-11-14 12:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int main(void)
{
        uint8_t Str[80] = {0};
        SZ_STM32_COMInit();

        while(1)
        {
                 scanf("%s", Str);        
                printf("\n\r 输入的字符串是: <%s>\n", Str);        
        }
}
int fputc(int ch, FILE *f)
{
    /* e.g. write a character to the USART */
    USART_SendData(USART1, (uint8_t) ch);

    /* Loop until the end of transmission */
    while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);

    return ch;
}

int fgetc(FILE *f)
{
        int ch = 0;
        
    while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);

    ch = (int)USART1->DR & 0xFF;
        
    putchar(ch); //回显
        
        return ch;
}
我是这样编写的,但是编译出错。
..\Output\STM32-DEMO.axf: Error: L6218E: Undefined symbol __vfscanf_char_file (referred from __0scanf.o).
..\Output\STM32-DEMO.axf: Not enough information to list image symbols.
..\Output\STM32-DEMO.axf: Finished: 1 information, 0 warning and 1 error messages.

使用特权

评论回复

相关帖子

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

本版积分规则

471

主题

480

帖子

0

粉丝