打印
[STM32F1]

STM32F103RC串口发送死循环

[复制链接]
556|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
supernan|  楼主 | 2022-1-3 18:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现用到STM32F103RC的串口1(PA9和PA10),给串口发送数据就while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);在这里死循环,直至看门狗复位。
初始代码如下:
RCC_APB2PeriphClockCmd((RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO), ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_USART1,DISABLE);
RCC_APB1PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;                //TX
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
               
                GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;                //RX
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);

USART_InitStructure.USART_BaudRate = bound;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    USART_InitStructure.USART_Parity = USART_Parity_No ;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//ÎÞÓ²¼þÊý¾ÝÁ÷¿ØÖÆ
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
    USART_Init(USART1, &USART_InitStructure);
               
    USART_ITConfig(USART1, USART_IT_IDLE, ENABLE);//¿ªÆô¿ÕÏÐÖжÏ
    USART_Cmd(USART1, ENABLE);
    USART_ClearFlag(USART1,USART_FLAG_TC);

请各位用过的朋友指导一下,谢谢!

使用特权

评论回复
沙发
xxrs| | 2022-1-3 18:33 | 只看该作者
建议使用stm32cubeMx生成代码

使用特权

评论回复
板凳
zhanghqi| | 2022-1-3 18:34 | 只看该作者
建议发送死循环可以查询串口寄存器状态值部分,对应芯片手册分析查找原因

使用特权

评论回复
地板
stly| | 2022-1-3 18:36 | 只看该作者
给串口发送数据就while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);在这里死循环
USART_ClearFlag(USART1,USART_FLAG_TC);
在这条命令之后,只有发送新的数据完成后,TC才会置位

可以考虑这样
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);

使用特权

评论回复
5
dengdc| | 2022-1-3 18:38 | 只看该作者
你的第三行代码
RCC_APB1PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

使用特权

评论回复
6
supernan|  楼主 | 2022-1-3 18:41 | 只看该作者
非常感谢!就这里问题,火眼金睛,厉害!!!我真的

使用特权

评论回复
7
jiajs| | 2022-1-3 18:43 | 只看该作者
果然很厉害

使用特权

评论回复
8
jiajs| | 2022-1-3 18:45 | 只看该作者
原来是这样的笔误  火眼金睛啊

使用特权

评论回复
9
wangzsa| | 2022-1-3 18:51 | 只看该作者
不细心看真看不出来

使用特权

评论回复
10
pengf| | 2022-1-3 18:54 | 只看该作者
难道编译的时候不会报错吗

使用特权

评论回复
11
xxrs| | 2022-1-3 18:56 | 只看该作者
如果是cube生成的就应该不会有这种错误啊

使用特权

评论回复
12
supernan|  楼主 | 2022-1-3 18:59 | 只看该作者

哦,那我就知道怎么回事了,多谢大家

使用特权

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

本版积分规则

730

主题

10412

帖子

6

粉丝