推荐阅读最新更新时间:2024-11-13 11:07
STM32串口通信USART(二)---DMA方式
刚接触到DMA的时候,一头雾水,只知道方便、快捷,但不知道该怎么使用,后来弄明白原理之后就轻松了很多,但理解的还不是很透,所以希望把自己的理解写出来,和大家分享一下! 形象的说,DMA就像一个快递中转站,负责把数据从始发地搬到目的地,只要他负责的仓库有货,他就开始搬运,没货就等着,除非你把它关了。就像机器人搬东西一样,首先要告诉它从哪搬,搬到哪?东西有多大?需要搬几趟?需要搬运的东西是不是都在一起?搬完后是不是扔在那就行了,还是要放好? 到芯片里,数据就是货物,把数据从一个地方移到另一个地方。你只要告诉它怎么移到就行了,就像控制一个机器人一样。并不是多有的外设都能有机会使用DMA通道,而且,一条通道上被外设使用后,通道上的其他外设
[单片机]
stm32使用过程中的注意事项
1.ADC采用值转换成具体的物理量值 ADC采样值在寄存器中是16位整形数据,要转换成具体的电压量,则必须进行换算。例如12位的转换精度,满量程的二进制为0000 1111 1111 1111,对应十进制数为1095,对应的电压为3.3V。所以计算公式为 电压 = (采样二进制值/1096)*3.3(V) 特别注意,转换电压为浮点类型,所以要将采样二进制值强制转换成浮点型。 uint16_t ADC_ConvertValue; float ADCtoVoltage; ADCtoVoltage = ((float)ADC_ConvertValue/4096)*3.3; 2.STM32F0x系列RCC配置
[单片机]
STM32学习记录之GPIO篇
本篇学习目的: 一、学会对STM32芯片GPIO的基本操作 二、对GPIO的相关函数进行二次封装,以便于后期开发 开发板GPIO原理图如下 由图可知LED接在GPIOC的PC0-PC7 STM的GPIO有如下8中模式 GPIO相关库函数 GPIO模式配置函数:GPIO_Init(GPIO_TypeDef *GPIOx,GPIO_InitTypeDef *GPIO_InitStruct); 第一个参数用来指定GPIO口,取值范围GPIOA—GPIOG 第二个参数用来初始化参数结构体指针,参数结构体定义如下: typedef struct{ uint16_t GPIO_Pin; //选择要设置的Pin口 GPIOSpe
[单片机]
STM32系列单片机在破解的过程中常见的几个问题
STM32系列单片机都有全球唯一的ID号,很多设计开发者,在开发的过程中,会嵌入ID绑定验证代码,也就是所说的软加密。 STM32系列 逆向分析 STM32系列单片机在破解的过程中常见的几个问题。 1 通常我们在破解STM32过程中,如果原开发者没有嵌入软加密,那我们只需对芯片进行开片,去除加密锁,然后通过编程器直接读取,读取的BIN文件或HEX文件,完全可以正常使用。 2 在去除加密锁后,提取的程序代码无法工作,存在软加密,很多软加密是通过烧录器选项来绑定ID的,这样的软加密比较简单,通常很快就能搞定。 3 程序内部复杂的软加密,这样的情况也是很常见的,解密完后,检查没有发现ID绑定想象,但烧录新的单片机是无法工
[单片机]
stm32专题十一:串口通信(一) USART理论
/************************************************************************************************************/ RS232(负逻辑):由三条线(RX、TX、GND)组成。-15v ~ -3v代表逻辑1,+3 ~ +15v代表逻辑0,这里的±是相对于GND而言。 RS485:与232不同,485采用差分双绞线。RS-485总线标准规定了总线接口的电气特性标准即对于2个逻辑状态的定义:正电平在+2V~+6V之问,表示一个逻辑状态;负电平在-2V~-6V之间,则表示另一个逻辑状态;数字信号采用差分传输方式,能够有效减少噪
[单片机]
【STM32】STM32端口复用和重映射(AFIO辅助功能时钟)
STM32F1xx官方资料: 《STM32中文参考手册V10》-第8章通用和复用功能IO(GPIO和AFIO) 端口复用功能 端口复用的定义 STM32有许多的内置外设(如串口、ADC、DCA等等),这些外设的外部引脚都是和GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫复用。详细的可以参考《STM32F103ZET6数据手册》p30的内容,表格的倒数第二栏就表示端口复用功能。 比如说,STM32的串口1的引脚对应的I/O位PA9、PA10。而PA9、PA10默认的功能都是GPIO,所以说当PA9、PA10引脚作为串口1使用的时候就是端口复用。
[单片机]
STM32学习笔记1 IO口学习
STM32的IO口可以由软件配置成8种模式: 1,输入浮空 2,输入上拉 3,输入下拉 4,模拟输入 5,开漏输出 6,推挽输出 7,推挽复用功能 8,开漏复用功能 每个IO口可以自由编程,单IO口寄存器必须要按32位字被访问。 这里就是寄存器不能位操作咯 STM32的每个IO端口都有7个寄存器来控制。他们分别是:配置模式的2个32位的端口配置寄存器CRL和CRH;2个32位的数据寄存器IDR和ODR;1个32位的置位/复位寄存器BSRR;一个16位的复位寄存器BRR;1个32位的锁存寄存器LCKR;这里我们仅介绍常用 的几个寄存器,我们常用的IO端口寄存器只有4个:CRL、CRH、IDR、ODR。 STM32的CRL控制
[单片机]
STM32之中断函数介绍篇
NVIC驱动有很多的用途,如使能或者失能IRQ(中断请求),或者是使能或失能单独的IRQ通道,或者是改变其优先级。以下介绍相关函数的功能和基本用法。 1.NVIC_DeInit函数的功能是将外设NVIC寄存器重设为默认值。 2.NVIC)PriorityGroupConfig函数的功能是设置优先级分组:先占优先级和从优先级,且有一个输入参数是优先级分组的长度 例:定义先占优先级1,从优先级3. NVIC_PriorityGroupConfig(NVICPriorityGroup_1); 3.NVIC_Init函数的功能是根据NVIC_InitStruct里面指定的参数初始化外设NVIC寄存器,其中NVIC_In
[单片机]