stm32
文章平均质量分 76
玫瑰花店
为之则易,不为则难!
展开
-
ARM小知识点总结
ARM有几种工作模式?用户、系统、快速中断、外部中断、超级用户、异常、未定义共七种模式CPSR、SPSR寄存器分别是什么?CPSR:程序状态寄存器(current program status register) (当前程序状态寄存器),在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。CPSR在用户级编程时用于存储条件码。SPSR:程序状态保存寄存器(saved program status register),每一种处理器模式下都转载 2021-04-01 21:17:23 · 313 阅读 · 0 评论 -
嵌入式之----MODBUS协议详解
什么是modbus协议?MODBUS 是 OSI 模型第 7 层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。自从 1979 年出现工业串行链路的事实标准以来,MODBUS 使成千上万的自动化设备能够通信。目前,继续增加对简单而雅观的 MODBUS 结构支持。互联网组织能够使 TCP/IP 栈上的保留系统端口 502 访问 MODBUS。传输类型 异步串行传输数据格式我们来看一下,modbus里面传输一帧数据的格式地址域:设备地址MODBUS 协原创 2021-04-01 21:16:57 · 1679 阅读 · 0 评论 -
STM32常见通信方式通信类型总结
串行:数据按位传输;并行:数据并行发送;同步:发送端和接收端同时处理;异步:发送端和接收端不同时处理;单工:设备只能做发送端/接收端;半双工:设备同一时刻只能做发送/接收;全双工:设备同一时刻即可做发送又可做接收;\通信类型物理接口通信协议应用举例串口串行异步全双工TX/RX起始位+数据位+奇偶校验位+停止位串口转USB,串口转485SPI串行同步全双工CS/SCK/MISO/MOSI同发同收,上升沿采样/下降沿采样FLASH/OLED/SD.原创 2021-03-14 20:57:43 · 2023 阅读 · 2 评论 -
FSMC版本:多驱动器(ILI9486L等)驱动TFTLCD屏幕
使用开发板类型为:STM32F407系列一、屏的相关信息分辨率:320*480尺寸:3.5寸驱动器:ILI9486L引脚接口:我们这里选用16-bts 8080-series MCUIM[]为010,使用了16个数据引脚。通过部分我们可以得到信息:CSX: 片选信号,用于启用或者禁用ILI9486L芯片RESX: 复位信号WRX: 读信号RDX: 写信号DB[17:0]: 并行数据总线D/CX: 数据/命令选择的信号,当D/CX= ' 1 '时,DB[17:0]位显示RAM原创 2021-02-21 11:24:03 · 5526 阅读 · 6 评论 -
STM32--SSD1306B-0.96寸OLED屏幕复习
1.驱动介绍驱动器:SSD1306B分辨率:128*64屏幕类型:OLED屏物理接口:6800/8000并行接口、I2C、SPI;电压:最低支持2.2V应用:便携式设备,消费者电器,便携式医疗设备。RES:复位线:低电平有效;CS:片选:芯片使能;D/C:数据/命令控制接口:拉高表示数据,拉低表示命令;E:使能信号,(6800/8080)并行接口时使用;R/W:读/写的控制接口,拉高表示读数据,拉低写数据;D0~D7:数据线;以上需要看oled屏驱动手册,这里我总结了一下用到的原创 2021-01-09 17:06:40 · 1765 阅读 · 2 评论 -
STM32F103使用L9110s驱动直流电机(必须简单易懂)
首先我们来看一下L9110S的驱动手册:注意到IB接的是PB8,IA接的是PB9根据第二个图片里面的真值表我们可以得到如下信息:PB8配置位复用推挽输出,PB9配置为通用推挽然后我给PB8配置PWM波,PB9给拉低,那么电机是不是就是正转反转同理停止两个端口同时拉低或者拉高就行了接下里我们来配置一下PWM波,我们配置电机反转PB9配置位复用推挽输出,PB8配置为通用推挽 然后我给PB9配置PWM波,PB8给拉低,那么电机是不是就是正转看一下上图的定时器为TIM4,第4个管道。原创 2020-11-26 10:02:24 · 23044 阅读 · 15 评论 -
STM32中ADC详解(极简易懂)
首先我们要知道什么是ADC?单片机中的baiADC是Analog-to-Digital Converter的缩写,指模/数转换器或者模数du转换器。ADC是指将连续变化的模拟信号转换为离dao散的数字信号的器件。真实世界的模拟信号,例如温度、压力、声音或者图像等,需要转换成更容易储存、处理和发射的数字形式。模/数转换器可以实现这个功能,在各种不同的产品中都可以找到它的身影。典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。然而,有一些模拟数字转换器并非纯的电子设备,例如旋转编码器,也可原创 2020-11-19 09:48:51 · 17965 阅读 · 0 评论 -
STM32使用DHT11读取温湿度以及usart串口显示乱码解决
使用开发板为stm32f103. USART串口显示乱码问题往下翻上原理图:DHT11数据传送过程解释:步骤一:DHT11 上电后(DHT11 上电后要等待 1S 以越过不稳定状态在此期间不能发送任何指令),测试环境温湿度数据,并记录数据,同时 DHT11 的 DATA 数据线由上拉电阻拉高一直保持高电平;此时 DHT11 的DATA 引脚处于输入状态,时刻检测外部信号。步骤二:微处理器的 I/O 设置为输出同时输出低电平,且低电平保持时间不能小于 18ms(最大不原创 2020-07-17 10:00:58 · 2993 阅读 · 5 评论 -
STM32系统时钟切换与设置详解
在STM32f407XX系列中,系统时钟(SYSTEM)默认的是HSE提供的,这里举例我们就将默认HSE切换成HSI提供。我们先来看一下时钟树(建议保存此图)首先、在系统中时钟都是设置好的,如果不是给晶振换了(频率不一样的),那么时钟源就发生了改变,这种情况我们需要配置的就稍微比较多了,但一般不考虑这种情况!下面我们看一下HSI的切换步骤:1、开启HSI时钟2、等待HSI就位3、切换HSI作为系统时钟输入源4、等待切换成功(晶振的启动你也得慢慢振起来哈,所以得等一会)5、关闭锁相环6、选原创 2020-05-22 22:04:48 · 4202 阅读 · 0 评论 -
stm32学习1之GPIO口
ps:使用的32型号是.stm32f407zgt原本我是不打算继续更32的,但是最近的做的一些东西需要用到arm。所以想想就复习一下32吧!毕竟当初学的也确实不咋地。32系列我不会用很官方的话来讲,我会用自己的理解最粗暴直白的表达出来。有什么错误欢迎指正,企鹅:918619587首先我们解释一下什么是GPIO,GPIO就是通用输入输出。这莫理解可能有点抽象,直接上例子吧!最简单的点亮LED灯...原创 2020-04-04 21:24:19 · 659 阅读 · 0 评论 -
stm32关于USART串口配置(小白教程)
第一步理解usart的作用:粗暴理解,USART这个串口就起到连接外设的作用。处理器发送数据--------gpio(然后通过gpio口给发送到片上外设)-------usart-----外设。简单来说,gpio是一扇大门,usart也是一扇大门,只有通过这两扇大门你才能拿到宝藏。当你你打开gpio这个大门你会看到很多路,有一条路是走向usart这个大门,但是这条路有条河你得搭个桥才能过去到...原创 2019-11-13 18:05:42 · 1327 阅读 · 0 评论 -
stm32实现4个LED灯的点亮
#include "math.h"int main(void){ //亮第一个灯 RCC->AHB1ENR |= (1<<2)|(1<<5); GPIOC->MODER &= ~((0x3<<0)|(0x3<<12)|(0x3<<20)|(0x3<<18)); GPIOC->MODER ...原创 2019-08-13 11:35:04 · 8285 阅读 · 1 评论 -
如何使用keil5建立一个工程小白教程(库文件上传在资料里)
Keil5建立工程步骤。1.复制一份私人模板。2.打开keil5.3.新建立一个项目4.建立4个组,startup user api STM32F4xx_StdPeriph_Driver5.点击魔法棒 target里面的 选择usemicrolLIB,output里面选择create HEX file ,c/c++里面optimization里面的 1. define里...原创 2019-08-10 10:58:17 · 4792 阅读 · 2 评论 -
用stm32实现按键控制LED灯
main.c函数#include "math.h"#include "led.h"#include "key.h"int main(void){ //初始化LED1234. led_config(GPIOF,LED1_pin); led_config(GPIOF,LED2_pin); led_config(GPIOF,LED3_pin); led_config4(); //初...原创 2019-08-13 20:18:06 · 3774 阅读 · 0 评论