硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1597|回复: 3
收起左侧

STM32F429BIT6的Uart2不能发送的问题

[复制链接]

30

主题

62

回帖

152

积分

初级会员

积分
152
发表于 2021-6-9 08:46:09 | 显示全部楼层 |阅读模式
使用PA2,PA3做为功能脚,发现串口发送串口助手一直收不到数据,使用串口助手给单片机发送,单片机能正确的接收,是哪里的问题?
                RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
                RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
                GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_USART2);
                GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_USART2);
                GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;       
                GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;       
                GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
                GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
                GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
                GPIO_Init(GPIOA, &GPIO_InitStructure);
                GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
                GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
                GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
                GPIO_Init(GPIOA, &GPIO_InitStructure);
        USART_InitStructure.USART_BaudRate = bound;//2¨ìØÂêéèÖÃ
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;//×Ö3¤Îa8λêy¾Y¸ñê½
        USART_InitStructure.USART_StopBits = USART_StopBits_1;//ò»¸öí£Ö1λ
        USART_InitStructure.USART_Parity = USART_Parity_No;//ÎTÆæÅ¼D£Ñéλ
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//ÎTó2¼têy¾Yá÷¿ØÖÆ
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;        //êÕ·¢Ä£ê½
        USART_Init(USART2, &USART_InitStructure); //3õê¼»ˉ′®¿ú1
       
        USART_Cmd(USART2, ENABLE);  //ê1Äü′®¿ú1
       
        USART_ClearFlag(USART2, USART_FLAG_TC);
       
#if EN_USART2_RX       
        USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//¿aÆôÏà1ØÖD¶Ï

        //Usart1 NVIC ÅäÖÃ
        NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;//′®¿ú1ÖD¶Ïí¨μà
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;//ÇàÕ¼óÅÏè¼¶3
        NVIC_InitStructure.NVIC_IRQChannelSubPriority =0;                //×óóÅÏè¼¶3
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        //IRQí¨μàê1Äü
        NVIC_Init(&NVIC_InitStructure);        //¸ù¾YÖ¸¶¨μÄ2Îêy3õê¼»ˉVIC¼Ä′æÆ÷¡¢

#endif

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2021-6-9 09:25:49 | 显示全部楼层
没看出什么问题,参考我这个,我这个是6个串口同时使用的,收发都可以正常使用

发一个bsp_uart_fifo.C文件配置串口1,2,3,4,5,6可以同时使用的例子,方便大家对比参考
https://forum.anfulai.cn/forum.p ... 2149&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

30

主题

62

回帖

152

积分

初级会员

积分
152
 楼主| 发表于 2021-6-9 09:56:19 | 显示全部楼层
eric2013 发表于 2021-6-9 09:25
没看出什么问题,参考我这个,我这个是6个串口同时使用的,收发都可以正常使用

发一个bsp_uart_fifo.C文 ...

试了这个程序
        if (USART_GetITStatus(_pUart->uart, USART_IT_TXE) != RESET)
{}
        else if (USART_GetITStatus(_pUart->uart, USART_IT_TC) != RESET)
{}
都判断跳出了。。。这可能是啥问题?
回复

使用道具 举报

25

主题

136

回帖

211

积分

高级会员

积分
211
发表于 2021-6-9 14:03:19 | 显示全部楼层
我曾经遇到过类似的问题,是因为bsp_uart_fifo.h里发送数组缓存设置不对,不知道跟你是不是相同的问题 1623218377(1).png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 21:20 , Processed in 0.045430 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表