OpenEdv-开源电子网

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

[开发板通用] 阿波罗开发板串口1复用教程&测试程序

[复制链接]

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10565
金钱
10565
注册时间
2017-2-18
在线时间
1913 小时
发表于 2018-9-30 11:00:35 | 显示全部楼层 |阅读模式
本帖最后由 peng1554 于 2018-10-25 22:24 编辑

前段时间有网友问阿波罗F767的PB14 ,PB15复用为串口1的程序 ,所以整了下阿波罗开发板的相关引脚复用为串口1的程序(除了开发板自带的串口通信实验例程)需要注意的是:
1.阿波罗F429的主芯片PB14,PB15不能复用为串口1
2.测试程序实现的是以开发板串口通信实验例程一样的功能。即:STM32通过串口1和上位机对话,STM32在收到上位机发过来的字符串(以回车换
行结束)后,原原本本的返回给上位机。下载后,DS0闪烁,提示程序在运行,同时每隔一定时间,通过串口1输出一段信息到电脑。
3.复用功能不懂的部分可以看看开发指南的第四章的“IO引脚复用器和映射”章节
4.基于开发板的串口通信实验例程修改

以阿波罗F767的PB14 ,PB15复用为串口1为例
只需要修改usart.c的HAL_UART_MspInit()
以阿波罗F767的PB14,PB15复用为串口1为例
1.需要将原例程的使能GPIOA时钟改为使能GPIOB时钟
2.根据STM32F767IGT6数据手册查找PB14,PB15的复用通道AF4
0.JPG
该函数修改如下:
[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_14;                        //PB14
                GPIO_Initure.Mode=GPIO_MODE_AF_PP;                //复用推挽输出
                GPIO_Initure.Pull=GPIO_PULLUP;                        //上拉
                GPIO_Initure.Speed=GPIO_SPEED_FAST;                //高速
                GPIO_Initure.Alternate=GPIO_AF4_USART1;        //复用为USART1
                HAL_GPIO_Init(GPIOB,&GPIO_Initure);                   //初始化PB14

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

}[/mw_shl_code]
代码下载到阿波罗F767开发板并将底板上PB14引脚接P4处的RXD引脚,PB15接P4处的TXD引脚
测试例程效果
1.JPG












阿波罗F429_PB6,PB7复用为串口1测试程序.rar

7.05 MB, 下载次数: 20

阿波罗F767_PB6,PB7复用为串口1测试程序.rar

8.33 MB, 下载次数: 24

阿波罗F767_PB14,PB15复用为串口1测试程序.rar

8.33 MB, 下载次数: 30

阿波罗H743_PB6,PB7复用为串口1测试程序.rar

8.53 MB, 下载次数: 21

阿波罗H743_PB14,PB15复用为串口1测试程序.rar

8.53 MB, 下载次数: 50

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-5 10:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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