打印

串口通信时丢失第一位数据或者第一个数据出错

[复制链接]
218|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Spikess|  楼主 | 2019-11-14 10:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "includes.h"
int fputc(int ch,FILE *f)//重定义printf函数
{
                USART_SendData(USART1,(uint8_t) ch);
                while (USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);        //判断标志位检测是否发送完毕
                return (ch);
}
int fgetc(FILE *f)//重定义scanf函数
{
                while (USART_GetFlagStatus(USART1,USART_FLAG_RXNE) == RESET);
                return (USART_ReceiveData(USART1));
}
void uart1_init()
        {
                RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA,ENABLE);//开启uart1和GPIOA的时钟
                /*GPIO配置*/
                GPIO_InitTypeDef        gpio_pin9_init;
                gpio_pin9_init.GPIO_Mode=GPIO_Mode_AF_PP;//tx初始化为推挽复用模式
                gpio_pin9_init.GPIO_Pin=GPIO_Pin_9;
                gpio_pin9_init.GPIO_Speed=GPIO_Speed_50MHz;
                GPIO_Init(GPIOA,&gpio_pin9_init);
                GPIO_InitTypeDef        gpio_pin10_init;
                gpio_pin10_init.GPIO_Mode=GPIO_Mode_IN_FLOATING;//rx初始化为浮空输入模式
                gpio_pin10_init.GPIO_Pin=GPIO_Pin_10;
                gpio_pin10_init.GPIO_Speed=GPIO_Speed_50MHz;
                GPIO_Init(GPIOA,&gpio_pin10_init);
                /*串口的配置*/
                USART_InitTypeDef usart_init;//初始化串口
                usart_init.USART_BaudRate=9600;
                usart_init.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
                usart_init.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;//全双工需要发送接收都开启
                usart_init.USART_Parity=USART_Parity_No;
                usart_init.USART_StopBits=USART_StopBits_1;
                usart_init.USART_WordLength=USART_WordLength_8b;
                USART_Init(USART1,&usart_init);
                USART_Cmd(USART1,ENABLE);
        }
int main()
        {
                uart1_init();
                unsigned int n;
                while(1)
                        {
                                scanf("%d",&n);
                                printf("%d",n);
                        }
        }

使用特权

评论回复

相关帖子

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

本版积分规则

417

主题

421

帖子

0

粉丝