串口的结构体在FWLIB>usart.c>usart.h中
我们不用带时钟的那个结构体,我们用USART_InitTypeDef
加.访问端口,一共是六个
①波特率:115200; 直接设置!
②硬件流(宏定义):USART_HardwareFlowControl_None; 这里我们不用硬件流
③模式(宏定义):USART_Mode_Rx | USART_Mode_Tx ; 这里我们用或 |,这样输入输出都可以!
④奇偶校验位(宏定义):USART_Parity_No; 不用校验位!
⑤停止位(宏定义):USART_StopBits_1; 正常的情况下停止位选择一位!
⑥有效数据长度(宏定义):USART_WordLength_8b 我们选择8
配置完后我们要初始化函数,在usart.h中找到USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct);
第一个参数,我们用到是USART1
第二个参数,
初始化后,基本配置完成,但是串口结构体配置比GPIO多一步,就是要打开打开串口1,cmd
在.h中找到USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState);
第一个参数,我们用到是USART1
第二个参数,ENABLE
cmd函数
配置完成后
在usart.c中定义函数.
void usart_init(void)
{
XXXXXXX;
}
要去usart.h中声明
魔术棒中要添加.h路径
STM32常见错误error: #268: declaration may not appear after executable statement
此错误中文意思:声明不能在可执行语句后出现
表示有变量在函数后面声明,应该改为在函数开头声明变量。
在Keil环境中编译程序,变量的声明应在主函数起始位置,如果有此报错,一定是变量声明在执行函数后。
至此,串口的结构体配置完成。