cotex-A7核UART总线实验
1. 键盘输入一个字符‘a’,串口工具显示‘b’
2. 键盘输入一个字符串"nihao",串口工具显示“nihao”
uart.h
#ifndef __UART4_H__
#define __UART4_H__
#include "stm32mp1xx_rcc.h"
#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_uart.h"
//RCC/GPIO/UART4章节初始化
void hal_uart4_init();
void hal_put_char(const char str); //发送一个字符
void hal_put_string(const char* string); //发送一个字符串
char hal_get_char(); //接收一个字符
char* hal_get_string(); //接收一个字符串
#endif
uart.c
#include "uart4.h"
extern void delay_ms(int ms);
//RCC/GPIO/UART4章节初始化
void hal_uart4_init()
{
//RCC章节初始化:
//1. 使能GPIOB组控制器,MP_AHB4ENSETR[1] = 1
//2. 使能GPIOG组控制器,MP_AHB4ENSETR[6] = 1
//3. 使能UART4组控制器,MP_APB1ENSETR[16] = 1
RCC->MP_AHB4ENSETR |= (0x1<<1); //GPIOB使能
RCC->MP_AHB4ENSETR |= (0x1<<6); //GPIOG使能
RCC->MP_APB1ENSETR |= (0x1<<16); //UART4使能
//GPIO章节初始化:
//1.设置PB2引脚为复用功能 MODER[5:4] = 10

本文详细描述了在Cortex-A7架构的STM32MP1xx微控制器上实现UART通信的过程,包括初始化GPIO、配置UART接口、发送字符和字符串以及接收数据的函数。展示了如何使用hal_uart4_init()函数进行串口配置并演示了字符和字符串的收发实例。
最低0.47元/天 解锁文章
1807

被折叠的 条评论
为什么被折叠?



