【ARM】Day6 cotex-A7核UART总线实验

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

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
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值