UartSendByte(USART_TypeDef* uart,u8 data);void test(void (*p)(USART_TypeD. h1654155701.39442022-01-21 10:42:56 STM32F407ZE如何通过串口发送接收PC端串口助手消息 #include #include "sys.h"#include "delay.h"voidUSART1_Init();voidUSART_SendString(USART_TypeDef* U ...
这是一个结构体定义,结构体的成员是USART的个个寄存器,是库已经定义好的,我们直接使用就行
这个代表是把USART1_BASE强制转换成USART_TypeDef *的指针,USART1代表的就是这个指针(也就是这个内存地址)
这句#define USART1 ((USART_TypeDef *) USART1_BASE)不是很明白什么意思。-其中,USART_YyeDef是个结构体,如下:typedef struct{ vu16 SR; u16 RESERVED0; vu16 DR; u16 RESERVED1; vu16 BRR; u16 RESERVED2; vu16 CR ...-OpenEdv-开源电子网
当需要访问特定地址是如USART1的某个寄存器时,它被厂商固定在了某个地址上,此时我们就需要指明具体的寄存器地址数了,如USART1_BASE代表的常数,然后将此数转换成某个数据类型的指针强制转语句((USART_TypeDef *) USART1_BASE),就是告诉编译器此数据代表的是个内存地址 ...
省略号(...)标识未声明的参数的类型和个数可变 自定义函数需要引入头文件<stdarg.h>