32单片机
文章平均质量分 66
立可白*
在校大学生,将博客作为自己学习的记录
展开
-
SPI通信协议(软件)
四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISD(Master Input Slave Output)、SS(Slave Select)【SS低电平有效,】同步,全双工(数据发送和接收单独各占一条线,能够同时发收数据)一主多从。原创 2023-10-12 20:47:38 · 67 阅读 · 1 评论 -
STM32 DMA直接存储器存取
DMA(Direct Memory Access)直接存储器存取【DMA有权限访问单片机内部存储器包括运行内存SRAM、程序存储器Flash和寄存器等等】DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU资源。12个对可配置的通道:DMA1(7个通道),DMA2(5个通道)每个通道都支持软件触发特定的硬件触发(每个DMA通道,其硬件触发源是不一样的)STM32F103C8T6的DMA资源:DMA1(7个通道)原创 2023-10-10 22:12:57 · 84 阅读 · 1 评论 -
STM32 TIM输出比较
OC(Output Compare)输出比较【IC(Input Compare)输入捕获;CC(Capture Compare)输入捕获和输出比较的单元】输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1或0或翻转的操作,用于输出一定频率和占空比的波形。原创 2023-09-24 11:37:15 · 118 阅读 · 1 评论 -
STM32 TIM编码器接口
Encoder Interface 编码器接口编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度。每个高级定时器和通用定时器都拥有1个编码器接口两个输入引脚借用了输入捕获的通道1和通道2。原创 2023-10-07 20:07:30 · 63 阅读 · 1 评论 -
STM32 ADC模数转换器
ADC(Analog-Digital Converter)模拟-转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁12位逐次逼近型ADC,1us转换时间(分辨率用多少位表示,12位AD值表示范围则是0~2^12-1(0~4095),位数越高,量化结果越精细,对应分辨率越高。1us转换时间对应的频率就是1MHz。输入电压范围:0~3.3V,转换结果范围:0~4095(中间是一 一对应的线性关系)18个输入通道,可测量16个外部和2个内部信号源。原创 2023-10-10 15:30:55 · 67 阅读 · 1 评论 -
STM32 TIM输入捕获
IC(Input Capture)输入捕获输入捕获模式下,等参数。每个可配置为模式(PWM输入模式Input),同时测量频率和占空比可配合模式,实现硬件全自动测量。通用定时器和高级定时器输入捕获相同,没有区别。基本定时器没有输入捕获功能。原创 2023-09-28 17:19:15 · 198 阅读 · 1 评论 -
STM32 EXTI外部中断 / 对射式红外传感器/旋转编码器
EXTI可以检测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行中断上升沿/下降沿/双边沿/软件触发(具体原理见下面的EXTI框图,信号进到一个或门,只要有1即为1)所有的GPIO口,但相同的Pin不能同时触发中断16个GPIO_Pin,外加PVD输出(电源电压监测),RTC闹钟、USB唤醒、以太网唤醒。原创 2023-09-22 21:16:56 · 142 阅读 · 0 评论 -
STM32 OLED显示屏
串口调试:通过串口通信,将调试信息发送到电脑端,电脑使用串口助手显示调试信息显示屏调试:直接将信息打印到显示屏Keil调试模式:借助Keil软件的调试模式,可使用单步运行、设置断点、查看寄存器及变量等功能。原创 2023-09-16 10:11:42 · 58 阅读 · 1 评论 -
STM32 GPIO简析
与51单片机类似,即按下导通,松手断开。且按键在按下以及松手时会有一段时间的抖动,对按键的控制稳定性有一定影响。(上方两个方法—按下时低电平,松手时高电平下方两种接法—按下时高电平,松手时低电平)第二个图可以配置为浮空输入或者上拉输入,二者在外部都有R1这个上拉电阻,只不过上拉输入时,STM32内部也有一个上拉电阻,使得上拉能力更强。按下导通为低电平,松手断开为高电平:按下时,接通GND,为低电平;松开时,按键悬空,导致电压不稳定,所以需要接一个上拉电阻,来得到一个稳定的电平。原创 2023-09-14 22:50:12 · 313 阅读 · 1 评论 -
STM32 点灯
1.使用RCC开启GPIO的时钟2.使用GPIO_Init函数初始化GPIO3.使用输出或者输入函数控制GPIO口。原创 2023-09-13 22:29:07 · 78 阅读 · 1 评论 -
STM32 GPIO输出
推挽输出模式下,P-MOS和N-MOS均有效,数据寄存器为1 时,上管导通,下管断开,输出接到VDD,输出高电平;数据寄存器为0时,上管断开,下管导通,输出接到VSS,输出低电平。通过二极管保护电路,上方VDD为3.3V, 下方VSS为0V,输入大于3.3V时,引脚与VDD导通;小于0V时,与VSS导通。输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。利用上拉和下拉电阻,配置成上拉输入和下拉输入模式,若两个都断开,则为浮空输入模式。原创 2023-09-10 10:19:55 · 60 阅读 · 1 评论 -
STM32初始准备
2.工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹(一定要复制,不然以后建立新的工程就找不到所需的文件)6.工程选项,Debug,下拉列表选择对应调试器,Settings,Flash Download里勾选Reset and Run。3.工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加到工程分组里。1.建立工程文件夹,Keil中新建工程,选择型号。STM32型号分类及缩写。原创 2023-09-09 10:45:35 · 45 阅读 · 0 评论