关于printf打印函数重定义问题

2019-10-15 18:14发布

这几天移植了原子WIFI模块TCP Sever模式的程序
原子用的USART3连接WIFI模块,我的板子是USART1的
移植过来 除了串口变了外 程序基本上没变 但是接受数据一直
出错 最后发现是发送数据的几个函数中都用的Printf函数
感觉是这里数据互相干扰了  变重定义了打印函数 最后
程序果然正常了
操作实际上很简单
//重定义fputc
int fputc(int ch, FILE *f)
{      
       
        while((USART3->SR&0X40)==0);//Ñ-»··¢Ëí,Ö±μ½·¢Ëííê±Ï   
    USART3->DR = (u8) ch;      
        return ch;
}

里的USART1改成USART3  但是必须添加usart3_init函数
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。