STM32F407串口
#include "stm32f4xx.h"
#include "usart.h"
void My_USART1_Init(void)
{
//GPIO结构体定义
GPIO_InitTypeDef GPIO_InitStructure;
//串口结构体定义
USART_InitTypeDef USART_InitStructure;
//中断结构体定义
NVIC_InitTypeDef NVIC_InitStructure;
//使能时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能USART1时钟
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);//使能GPIOA时钟
//引脚映射
GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1);
//端口初始化
//GPIOA9端口初始化结构体参数设置
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
//GPIOA9端口初始化
GPIO_Init(GPIOA, &GPIO_InitStructure);
//GPIOA10端口初始化结构体参数设置
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
//GPIOA10端口初始化
GPIO_Init(GPIOA, &GPIO_InitStructure);
//串口初始化结构体参数设置
USART_InitStructure.USART_BaudRate=115200;
USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
USART_InitStructure.USART_Parity=USART_Parity_No;
USART_InitStructure.USART_StopBits=USART_StopBits_1;
USART_InitStructure.USART_WordLength=USART_WordLength_8b;
//串口初始化
USART_Init(USART1,&USART_InitStructure);
//串口使能
USART_Cmd(USART1 ,ENABLE);
//中断使能
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//接收非空使能
//中断初始化结构体参数设置
NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
//中断初始化
NVIC_Init(&NVIC_InitStructure);
}
void USART1_IRQHandler(void)
{
u8 res;
//判断串口1
if(USART_GetITStatus(USART1,USART_IT_RXNE)){
//从串口1是否发生接收中断
res=USART_ReceiveData(USART1);
//通过串口1发送数据
USART_SendData(USART1,res);
}
}
int main(void)
{
//中断分组使能
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
//串口初始化
My_USART1_Init();
while(1);
}
STM32F407串口相关推荐
- STM32F407的USART
文章目录 波特率 概念 波特率相对误差 UART误差保证 协议 常见的串行接口 协议之间的比较 USB 转串口PL2303 USB 转串口CP2102 USB转232 串口电平 TTL电平 485电平 ...
- 嵌入式课程设计 —— STM32串口编程
STM32F407 串口个数:6个串口 串口1:用来输出调试信息 STM32串口2的使用: 1)STM32F407开发板 ----------------- tiny4412开发板 通信 网络串口 2 ...
- stm32f407 6路串口dma如何配置_stm32cubeMX学习十、扫码模块程序开发(基于正点原子STM32F407开发板)...
本程序编写基于正点原子STM32F407开发板. 本文使用的扫码模块是下面这个品牌. 扫码模块的应用场景非常广泛,我们可以上百度搜索一下: 等等. 今天就来说说如何在开发板上实现控制它吧,打开数据手册 ...
- 基于STM32F407标准库串口DMA+空闲中断
核心板:STM32F407 实验目的:通过DMA接收串口发来的数据,并且利用串口空闲中断在将这些数据发送至串口助手. 在通常我们使用串口接收数据时,会使能串口接收中断,并在每次接收到数据后会进入中断将 ...
- STM32F407使用串口3获取攀腾G7的PM2.5数据
STM32F407使用该程序主要是复用串口3用来接收PM2.5所发出的数据,然后获取所需要的pm2.5的值,引脚接口为pb11和pb10,5v电压. u8 USART3_RX_BUF[USART3_R ...
- STM32F407使用USB作虚拟串口出现黄感叹号
最近因为工作需要使用到了STM32F407VET6的USB_OTG_FS作为虚拟串口. 之前用STM32 CubeMX生成过STM32F103C8T6的虚拟串口代码,感觉用起来很方便,于是这次的F40 ...
- STM32F407 USB虚拟双串口
STM32F407 USB 虚拟双串口 文章目录 STM32F407 USB 虚拟双串口 准备工作 代码修改 端点配置修改 描述符修改 数据处理 准备工作 通过STM32CubeMX生成一份标准的US ...
- STM32F407霸天虎HAL库学习笔记——串口发送
STM32F407霸天虎HAL库学习笔记--串口收发 一.软件准备 二.硬件准备 三.CubeMX配置 四.Keil printf重写 main函数 五.实验效果 一.软件准备 软件准备 二.硬件准备 ...
- STM32学习笔记-USART串口通信+与野火STM32F407板载ESP8266进行通信
文章目录 STM32USART介绍 STM32USART框图 第一部分 第二部分 第三部分 发送器 时序图 接收器 第四部分 软件部分: STM32通过USART与板载ESP8266通讯实验 板载WI ...
最新文章
- P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold(加强版)(贪心+hash哈希)
- 【C 语言】数组 ( 一维数组形参退化 | 二维数组形参退化 | 函数形参等价关系 )
- 全志 增加启动默launcher函数 Patch
- 开关电源环路的零极点可以在反馈端补偿吗_【干货分享】开关电源环路补偿设计步骤讲解...
- Linux下部署Kubernetes+Kubesphere(一)Kubernetes基础
- 机器阅读理解首次超越人类!云从刷新自然语言处理新纪录
- 流式计算storm核心组件介绍以及入门案例---跟着就能在本地跑起来的storm项目
- 长庆企业信息化管理课件_会博通浅谈企业档案管理信息化的必要性和优势
- 判断页面打开的浏览器信息
- python 轻量级邮件发送库
- 新浪微博自动发送微博 功能已实现(net)
- 安徽省级办公室高级应用计算机二级,2019年9月安徽省计算机等级二级考试教程:二级MSOffice高级应用上机指导...
- 水系图一般在哪里找得到_Nano Energy:铝离子扩层V2O5nH2O用于高性能水系锌离子电池...
- CSP-X模拟题第三套-信心赛题解
- 三个团队的站立会议旁观笔记
- 字节辟谣被裁员工与 HR 互殴;苹果头显多个新功能曝光;谷歌希望 RISC-V 成为 T1 级 Android 架构|极客头条...
- python调用系统本地程序
- [线段树]小喵喵的新家
- 记录自己折腾不止的人生,留住时光的一抹轨迹
- PostgreSQL 社交类好友关系系统实践 - 正反向关系查询加速