//初始化串口1void My_USART1_Init(void)
{
GPIO_InitTypeDef GPIO_InitStrue;
USART_InitTypeDef USART_InitStrue;
NVIC_InitTypeDef NVIC_InitStrue; //串口时钟使能,GPIO时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); //GPIO端口模式设置,PA9设置推挽复用,PA10设置浮空模式
GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_InitStrue.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;
GPIO_Init(GPIOA,&GPIO_InitStrue);
GPIO_InitStrue.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_InitStrue.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;
GPIO_Init(GPIOA,&GPIO_InitStrue); //串口参数的初始化
USART_InitStrue.USART_BaudRate=115200; //波特率
USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None; //硬件流
//全双工模式
USART_InitStrue.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;
USART_InitStrue.USART_Parity=USART_Parity_No; //奇偶校验位
USART_InitStrue.USART_StopBits=USART_StopBits_1;//停止位
USART_InitStrue.USART_WordLength=USART_WordLength_8b;//字长
USART_Init(USART1,&USART_InitStrue); //使能串口
USART_Cmd(USART1,ENABLE); //开启接收中断
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE); //初始化NVIC
NVIC_InitStrue.NVIC_IRQChannel=USART1_IRQn;
NVIC_InitStrue.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStrue.NVIC_IRQChannelPreemptionPriority=1; //设置抢占优先级
NVIC_InitStrue.NVIC_IRQChannelSubPriority=1; //设置相应优先级
NVIC_Init(&NVIC_InitStrue);
}//中断处理函数void USART1_IRQHandler(void)
{
u8 res; if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
res= USART_ReceiveData(USART1);
USART_SendData(USART1,res);
}
}//主函数int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
My_USART1_Init(); while(1);
}
关键字:STM32系列 串口配置
引用地址:
STM32系列第8篇--串口配置步骤
推荐阅读最新更新时间:2024-03-16 15:38
STM32系列第14篇--TFTLCD驱动原理
ALINETEK2.8寸 TFTLCD模块特点 240*320分辨率 16位真彩显示(65536色) 自带电阻触摸屏 自带背光电路 注意:模块是3.3V供电的,不支持5V电压的MCU,如果是5VMCU,必须在信号线串接120R电阻使用。 ALINETEK2.8寸 TFTLCD接口说明(16位80并口) LCD_CS:LCD片选信号 LCD_WR:LCD写信号 LCD_RD:LCD读信号 DB :16位双向数据线。 LCD_RST:硬复位LCD信号 LCD_RS:命令/数据标志(0:命令,1:数据) BL_CTR:背光控制信号 T_MISO/T_MOSI/T_PEN/T_CS/T_CLK,触摸屏接口信号
[单片机]
STM32系列第22篇--I2C
简介: I2C(IIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备。 它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上,IIC是半双工通信方式。多主机I2C总线系统结构 需要将SDA和SCL两根线接上拉电阻拉高。 I2C协议: 空闲状态+开始信号+停止信号+应答信号+数据的有效性+数据传输 (1)空闲状态 I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。 (2)起始信号与停止信号 起始信号:当SCL为高期间,SDA
[单片机]
STM32 基础系列教程 15 - SPI
前言 学习stm32 SPI通信接口使用,学会用SPI接口收发数据。 示例详解 基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。 本示例所用的最小系统板原理图: 从本节开始,关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置: 系统时钟树 SPI器配置 引脚配置 中断配置(保持默认即可) 工程代码 在main.c 中加入如下图所示代码: 到此,我们就通过STM32的SPI接实发送
[单片机]
STM32使用CubeMAX配置的串口中断接收方法
STM32使用cubeMAX可以快速建立工程模板,但是默认使用的是Hal库构成的工程,对于习惯使用了ST标准库的同学来说,灵活调用HAL库可能会比较生疏,我也是这么觉得的,但是还是要逐步去接触学习它,毕竟这个hal库的封装还是相当好的,有好多先进的思想和用法。 在学习过程中,我遇到了一个问题,之前也遇到过,但是没时间去研究,就是串口在CUBUMAX上配置好后,如何实现串口中断接收,接下来就来记录一下我学习到的知识: 1.定位串口中断发生的地方 HAL库的中断处理还是和标准库一样的,在stm32xxxx_it.c中定义我们定位到如下函数: HAL_UART_IRQHandler(&huart1); 再往下定位,我们找
[单片机]
STM32系列单片机在破解的过程中常见的几个问题
STM32系列单片机都有全球唯一的ID号,很多设计开发者,在开发的过程中,会嵌入ID绑定验证代码,也就是所说的软加密。 STM32系列 逆向分析 STM32系列单片机在破解的过程中常见的几个问题。 1 通常我们在破解STM32过程中,如果原开发者没有嵌入软加密,那我们只需对芯片进行开片,去除加密锁,然后通过编程器直接读取,读取的BIN文件或HEX文件,完全可以正常使用。 2 在去除加密锁后,提取的程序代码无法工作,存在软加密,很多软加密是通过烧录器选项来绑定ID的,这样的软加密比较简单,通常很快就能搞定。 3 程序内部复杂的软加密,这样的情况也是很常见的,解密完后,检查没有发现ID绑定想象,但烧录新的单片机是无法工
[单片机]
STM32学习系列---STM32之GPIO
1.GPIO解释 GPIO英文全称是General-purpose input/ouput,即通用型输入输出,GPIO根据配置可以作为通用输入(GPI),通用输出(GPO)或是通用输入输出(GPIO) 2.GPIO工作模式 GPIO共有八种工作模式,其中包括4种输入模式和4种输出模式。其中输出模式有3种输出速率 输入模式 上拉输入 下拉输入 浮空输入 模拟输入 1.上拉输入:配置为上拉输入模式时,内部上拉电阻连接;若无高低电平输入时,检测该管脚电平为高电平。 2.下拉输入:配置为下拉输入模式时,内部下拉电阻连接;若无高低电平输入时,检测该管脚电平为低电平。 3.浮空输入:配置为浮空输入模式时,内部上拉电阻与下
[单片机]
【话说定时器系列】之三:STM32定时器的信号触发与主从模式
本文介绍的 定时器的信号触发与主从模式 ,主要指通用定时器或高级定时器,不涉及基本定时器,因为基本定时器相对比较简单,对外无过多联络。 那对于STM32定时器而言,有哪些触发信号呢?这些信号来自何处?或流向哪里呢? 触发信号分两大类:触发输入信号【TRGI】,简单地讲就是从外部引入到本定时器的信号;另一类就是触发输出信号,即TRGO信号,它是定时器输出给其它定时器或外设的触发信号。 在STM32参考手册里文字描述部分,找不到一句完整的关于触发输入信号的描述文字,它主要把触发输入信号的概念融入进时钟源部分,倒是在从模式控制寄存器TIMX_SMCR的TS字段对定时器的触发输入信号有个系统的归纳。从数目上有讲一般可以多达8个
[单片机]
ST推出新系列STM32微控制器 为物联网设备提供创记录的处理性
STM32 H7新系列产品成为ARM Cortex -M内核微控制器性能新标杆 大容量片上存储器,丰富的通信外设,为物联网设备提供先进安全服务 中国,2016年10月21日 横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)推出新的运算性能创记录的STM32H7系列微控制器。新系列内置STM32平台中存储容量最高的SRAM(1MB)、高达2MB闪存和种类最丰富的通信外设,为实现让智慧更高的智能硬件无处不在的目标铺平道路。 意法半导体自主研发的非常先进的40nm芯片制造工艺,结合产品架构创新,使新系列产品运算性能
[单片机]