电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
STM32F429串口4的一个诡异问题
已解决
73482
个问题
已帮助
5993
位优秀工程师
STM32F429串口4的一个诡异问题
zzzqiu
2019-07-12
浏览量:1188
使用HAL库编程,串口1、2、3、5、6、7、8能正常收发数据,串口4初始化后打印一堆乱码,初始化程序如下
//初始化 IO 串口 4 TX-->PA0
//bound:波特率 RX-->PA1
void uart4_init(u32 bound)
{
//GPIO 端口设置
GPIO_InitTypeDef GPIO_Initure;
__HAL_RCC_GPIOA_CLK_ENABLE(); //使能 GPIOA 时钟
__HAL_RCC_UART4_CLK_ENABLE(); //使能 UART4 时钟
GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_1; //PA0 PA1
GPIO_Initure.Mode=GPIO_MODE_AF_PP; //复用推挽输出
GPIO_Initure.Pull=GPIO_PULLUP; //上拉
GPIO_Initure.Speed=GPIO_SPEED_FAST; //高速
GPIO_Initure.Alternate=GPIO_AF8_UART4; //复用为USART4
HAL_GPIO_Init(GPIOA,&GPIO_Initure); //初始化PA0
//USART 初始化设置
UART4_Handler.Instance=UART4; //UART4
UART4_Handler.Init.BaudRate=bound; //波特率
UART4_Handler.Init.WordLength=UART_WORDLENGTH_8B; //字长 8 位数据
UART4_Handler.Init.StopBits=UART_STOPBITS_1; //一个停止位
UART4_Handler.Init.Parity=UART_PARITY_NONE; //无奇偶校验位
UART4_Handler.Init.HwFlowCtl=UART_HWCONTROL_NONE;//无硬件流控
UART4_Handler.Init.Mode=UART_MODE_TX_RX; //收发模式
HAL_UART_Init(&UART4_Handler); //HAL_UART_Init()会使能 USART4
__HAL_UART_DISABLE_IT(&UART4_Handler,UART_IT_TC);
#if EN_USART4_RX
__HAL_UART_ENABLE_IT(&UART4_Handler,UART_IT_RXNE);//开启接收中断
HAL_NVIC_EnableIRQ(UART4_IRQn); //使能 USART4 中断
HAL_NVIC_SetPriority(UART4_IRQn,3,0); //抢占优先级 3,子优先级 3
#endif
}
显示全部
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
chen0000009
有可能是UART4的引脚与别的功能复用了,可以检查一下,是否有别的地方或者别的功能用了这两个IO
如果不是复用的问题,那也可以检查一下乱码出来是些什么数据,是否有一定规律
发布于
2019-07-12
举报
评论 0
0
0
其他答案
数量:
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
STM32F429串口4的一个诡异问题
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: