void USART1_Configuration()//设置USART1
{
GPIO_InitTypeDef GPIO_InitStructure;//设置GPIO口用的结构体
USART_InitTypeDef USART_Init_Structure;//设置USART的结构体
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;//这个管脚接TXD
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//选择复用推挽式输出
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHZ;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;//这个管脚接RXD
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;//选择浮空输入
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHZ;
GPIO_Init(GPIOA,&GPIO_InitStructure);
USART_Init_Structure.USART_BaudRate=9600;//设置波特率(每秒钟传输的位数)
USART_Init_Structure.USART_StopBits=USART_StopBits_1;//选择停止位 为1位
USART_Init_Structure.USART_Party=UART_Party_No;//不用奇偶校验
USART_Iinit_Structure_USART_HardwareFlowcontrol=USART_HardwareFlowcontrol_None;//不使用硬件流控制
USART_InitStructure_USART_Mode=USART_Mode_Rx|USART_Mode_Tx;//选择USART的接收和发送使能
USART_Init(USART1,&USART_InitStructure);
USART_Cmd(USART1,ENABLE);//使能USART1;
}
经过这样的设置USART1就可以用了 使用USART_SendData(USART1,待发送数据);
也可以使用重映射过的 printfh 函数来发送数据.
重映射过程如下
Int fputc(intch,FILE *f)//需要添加 stdio.h 头文件
{
USART_SendData(USART1,ch);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);//这段话表示如果发送数据没有结束 就听在这里等待
}
经过以上的配置可以发送和接受数据 但是不能产生USART中断
需要USART中断可以 这样设置
voidNVIC_Configuration()
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
NVIC_InitStructure.IROChannel=USART1_IRQn;
NVIC_InitStructure.IRQChannelPreemPtionPriority=0;
NVIC_InitStructure.IRQChannelSubPriority=0;
NVIC_InitStructure.IPQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
我要赚赏金打赏帖 |
|
|---|---|
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
| 【分享开发笔记,赚取电动螺丝刀】墨水屏文本显示器被打赏¥25元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取磁力计iis2mdc被打赏¥19元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取LPS22HH气压、温度被打赏¥19元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取STTS751温度被打赏¥17元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX软件读取HTS221温湿度被打赏¥22元 | |
| M5PAPERESP32EINKDEVKIT评测|使用MicroPython开发M5Paper被打赏¥15元 | |
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
我要赚赏金
