OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2998|回复: 0

[阿波罗F429] 阿波罗F429使用PB6/PB7复用为串口1测试程序

[复制链接]

109

主题

5562

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10541
金钱
10541
注册时间
2017-2-18
在线时间
1908 小时
发表于 2018-11-24 12:55:51 | 显示全部楼层 |阅读模式
本帖最后由 peng1554 于 2018-11-24 12:58 编辑

遇到一个客户使用阿波罗F429使用PB6/PB7复用为串口1有问题的情况,所以改了这个程序,程序基于ALIENTEK 阿波罗STM32F429开发板实验3修改,因为用的还是串口1,所以只需要修改初始化引脚
查STM32F429IGT6数据手册知道PB6/PB7复用为串口1是需要选择复用器AF7
PB6  PB7复用通道.JPG
需要修改usart.c的HAL_UART_MspInit()
[mw_shl_code=c,true]//UART底层初始化,时钟使能,引脚配置,中断配置
//此函数会被HAL_UART_Init()调用
//huart:串口句柄

void HAL_UART_MspInit(UART_HandleTypeDef *huart)
{
    //GPIO端口设置
        GPIO_InitTypeDef GPIO_Initure;
        
        if(huart->Instance==USART1)//如果是串口1,进行串口1 MSP初始化
        {
                __HAL_RCC_GPIOB_CLK_ENABLE();                        //使能GPIOB时钟
                __HAL_RCC_USART1_CLK_ENABLE();                        //使能USART1时钟
        
                GPIO_Initure.Pin=GPIO_PIN_6;                        //PB6
                GPIO_Initure.Mode=GPIO_MODE_AF_PP;                //复用推挽输出
                GPIO_Initure.Pull=GPIO_PULLUP;                        //上拉
                GPIO_Initure.Speed=GPIO_SPEED_FAST;                //高速
                GPIO_Initure.Alternate=GPIO_AF7_USART1;        //复用为USART1
                HAL_GPIO_Init(GPIOB,&GPIO_Initure);                   //初始化PB6

                GPIO_Initure.Pin=GPIO_PIN_7;                        //PB7
                HAL_GPIO_Init(GPIOB,&GPIO_Initure);                   //初始化PB7
               
#if EN_USART1_RX
                HAL_NVIC_EnableIRQ(USART1_IRQn);                //使能USART1中断通道
                HAL_NVIC_SetPriority(USART1_IRQn,3,3);        //抢占优先级3,子优先级3
#endif        
        }

}[/mw_shl_code]
需要注意的是程序下载后用杜邦线将PB6接2处的RXD,PB7接2处的TXD(图片中用的F767,请忽略)
阿波罗_1.png
串口助手截图
截图1.JPG





阿波罗F429PB6PB7复用为串口1测试程序.rar

7.06 MB, 下载次数: 43

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 22:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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