1、作业需求
ARM实现串口收发单个字符和字符串
2、实现过程
1).uart4.h文件
#ifndef __UART4_H__
#define __UART4_H__
#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_rcc.h"
#include "stm32mp1xx_uart.h"
//串口初始化
void uart_init();
//发送一个字符
void uart_put_char(const char str);
//发送一个字符串
void uart_put_string(const char* str);
//接收一个字符
char uart_get_char();
//接收一个字符串
char* uart_get_string();
#endif
2).uart4.c文件
#include "uart4.h"
extern void delay_ms(int ms);
//串口初始化
void uart_init()
{
/*********RCC章节初始化************/
//通过MP_AHB4ENSETR设置GPIOB/GPIOG控制器使能 GPIOB[1] = 1 GPIOG[6] = 1
RCC->MP_AHB4ENSETR |= (0x1 << 1);
RCC->MP_AHB4ENSETR |= (0x1 << 6);
//通过MP_APB1ENSETR设置UART4控制器使能 UART4[16] = 1
RCC->MP_APB1ENSETR |= (0x1 << 16);
/*********GPIO章节初始化************/
//PB2---->UART4_RX
//1.通过MODER寄存器设置PB2引脚为复用功能 MODER[5:4]