![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32F103
文章平均质量分 92
stm32f103以及各种模块
折途想要敲代码
_(:ι」∠)_好饿,但是不想动
展开
-
【快速上手STM32】SPI通信协议&&1.8寸TFT-LCD(ST7735S)
SPI,英文全称Serial Peripheral Interface,即串行外围设备接口,是一种高速、全双工、同步的串行通信总线。我们之前说过I2C,那么我们就拿I2C和SPI做个对比。SPI和I2C对比,优势在于SPI的传输速率比I2C快得多,劣势在于SPI需要用的通信线比较多。原创 2024-04-16 11:34:48 · 6227 阅读 · 6 评论 -
【STM32F103】1-Wire&&DS18B20(含ESP8266代码)
1-Wire是一种串行通信总线协议,由美国芯片制造商Dallas Semiconductor(现为Maxim Integrated)开发。这种协议主要用于连接和通信各种设备,并在多个领域得到了广泛应用,如温度传感器、电池管理、智能卡等。1-Wire协议基于单数据线进行串行通信,允许多个设备通过共享这一数据线与控制设备进行通信。这种通信方式极大地简化了硬件布线和设备连接的复杂性。每个1-Wire设备都具有一个唯一的64位地址,这使得系统可以轻松地识别和区分不同的设备。原创 2024-03-29 21:57:42 · 1451 阅读 · 0 评论 -
【STM32F103】WDG看门狗
本系列在之前介绍时钟树的文章中有稍微提一下看门狗WDG(Watch Door Dog)。简单来说,可以当成是一个计数器,一旦这个计数器溢出则单片机复位。因为我们需要每隔一段时间就把这个计数器的值清零(喂狗)。原创 2024-03-05 23:07:25 · 1310 阅读 · 0 评论 -
【STM32F103】GY-30(BH1750)光照强度传感器&I2C
按理说我们发送一次指定高分辨连续采集模式就可以了,之后直接等待180ms之后读取数据就行,但是我试了一下,采集的数据极其不稳定,因为最终还是上面的代码,每次读取GY-30的数据的时候都发一次指令。一次和连续模式中又分为了三种,低(L)分辨,高(H)分辨和高分辨2,区别就在于分辨率分别是4lx,1lx,0.5lx以及采样的时间,我们这边就是折中一下,等等选择高分辨1模式。从上图可以得知,BH1750的从机地址为0100011,如果是要写命令的话,那么地址是0x46,如果是要读数据的话,那么地址是0x47。原创 2024-02-29 20:44:12 · 5623 阅读 · 3 评论 -
【STM32F103】I2C通信协议&SHT20温湿度传感器
I2C是Inter IC BUS=IIC=I²C=I2C,一般我们读作“挨方C”。简述一下I2C,是只需要两根通信线就能实现多主多从半双工的串行通信协议。传输速度会偏慢一点点,一般是100Kbps,是属于标准模式。另外还有快速模式,400Kbps;高速模式3.4Mbps;超快速模式5Mbps(后两种没接触过)。分别是SCL和SDA。SCL是Serial Clock,也就是统一时间的。SDA是Serial Data,也就是传输数据的。原创 2024-02-19 11:25:32 · 2589 阅读 · 2 评论 -
【STM32F103】PWM驱动舵机(SG90&MG995)
关于如何发出PWM可以参考我之前的文章。原创 2024-02-07 17:26:30 · 2344 阅读 · 1 评论 -
【STM32F103】JW01-CO2-V2.2二氧化碳检测模块(USART)
网上买的JW01模块,二十六块,买贵了。看到最便宜有九块钱的(运费十块),心疼。。。避雷了兄弟们,看到二十六块的JW01别买。这个模块它是1秒钟检测一次CO2然后通过串口来传输结果,并且还自带了数据检测,感觉还是不错的,这里记录一下。商家提供的资料我看了,演示视频不能说是保教包会吧也算得上是聊胜于无了。唯一有用的就是芯片手册了,不过芯片手册这个文件夹里也就几张图片。还好JW01本身就简单,通过这几张图片我们也能大概知道是怎么使用。原创 2024-01-29 14:36:52 · 10975 阅读 · 24 评论 -
HC-05蓝牙模块AT指令详解
以上AT指令是我觉得比较常用的,日常使用的话上面这些就够用了。想看完整的手册可以去官网找,或者是直接找卖家要。也可以关注我的公众号“折途想要敲代码”回复关键词“蓝牙”即可免费下载HC-05以及JDY-31的相关资料,内含PC串口助手和安卓手机的蓝牙助手。原创 2024-01-27 11:47:09 · 3020 阅读 · 0 评论 -
【STM32F103】JDY-31蓝牙模块(USART)
JDY-31蓝牙模块,就是下面这么个小玩意。某宝买大概就七八块,超过十块的不要买。JDY一共有6根引脚,而我们想要让它工作的话只需要接两根线即可,那就是VCC和GND,给VCC接3.6V~6V的电压(推荐是5V),GND接地,然后JDY31就开始工作了,我们的手机打开蓝牙就能找到JDY的蓝牙了。配对后我们的手机就可以和JDY31进行通信了,但是仅仅是和JDY31通信,这没有什么意义,所以我们会将JDY31和单片机进行连接,这样我们就可以用手机通过蓝牙去控制单片机了。原创 2024-01-23 10:58:45 · 12289 阅读 · 0 评论 -
【STM32F103】DMA直接存储器访问&游戏摇杆模块(ADC&DMA&EXTI)
当初下定决心要走嵌入式的时候买了一堆传感器,但是因为懒和忙所以闲置了一堆,今天考完了最后一门,所以打算一个个都玩一遍,今天先从这个摇杆开始,当初买这个是想着以后做个遥控小车的,现在先把这个模块玩明白。原创 2024-01-21 16:26:07 · 1189 阅读 · 0 评论 -
【STM32F103】谁在用蜂鸣器弹奏一曲东风破(无源蜂鸣器&PWM)
蜂鸣器一般可以分为两种,一种是有源蜂鸣器,另一种是无源蜂鸣器。有源蜂鸣器中的源是指震荡源,也就是给了电压再给个触发信号就会以固定的频率发出声响。而无源蜂鸣器内部没有震荡源,我们可以将触发信号的频率传给无源蜂鸣器,这样就可以发出不同音阶的声响了。下面是我买的无源蜂鸣器的原理图以及实物图。可以看得出有三个引脚,VCC接3.3V~5V(以你们手上的无源蜂鸣器为准),GND接地。中间的 I/O 接PWM信号。我这里是低电平驱动,因此给的PWM信号中低电平占比越高,发出的声响越大。原创 2024-01-19 11:08:09 · 1508 阅读 · 0 评论 -
【STM32F103】继电器的用法
因为最近用到了继电器,所以稍微记录一下继电器的用法。如果我们需要点亮一个LED灯的时候,我们只需要用单片机的GPIO口去输出高低电平驱动就行。但是我们需要通过单片机去控制大电压器件的开关的时候,我们就不能简简单单地用一个GPIO口去控制了,这时候我们需要用到继电器。原创 2024-01-14 18:17:37 · 4134 阅读 · 4 评论 -
【STM32F103】RCC复位和时钟控制
之前介绍外设的时候总是没有提到RCC,但其实我们使用STM32的外设之前都需要做的一步就是打开外设时钟。原本想着没什么可说的,就是用什么外设的时候就在开头加一行代码打开外设时钟就好了。直到最近写到了TIM定时器,我才开始觉得应该说一说跟时钟相关的内容了,并且在官方参考手册中也有单独为RCC开一个章节,因此就有了今天这篇博文。原创 2024-01-09 17:45:55 · 1731 阅读 · 0 评论 -
【STM32F103】TIM定时器&PWM
STM32F1中除了互联型产品(STM32F103C8T6为64KB Flash 中容量产品),其余有8个定时器。可以8个定时器分为高级,通用,基本三种。高级定时器有两个,分别是TIM1和TIM8。通用定时器有四个,是TIMx(x=2~4)基本定时器有两个,是TIMx(x=6~7)功能上高级>通用>基本。原创 2024-01-03 14:51:56 · 1525 阅读 · 0 评论 -
【STM32F103】SysTick系统定时器&延时函数
SysTick是Cortex-M3内核中的一个外设,内嵌在NVIC中,叫系统定时器。当处理器在调试期间被喊停时,SysTick也将暂停运作。一共有四个寄存器,不过我们通常用前三个,不需要校准。下图出自《STM32F10xxx Cortex-M3编程手册》第237页。原创 2024-01-01 16:02:50 · 2125 阅读 · 0 评论 -
【STM32F103】中断系统&外部中断
说到中断就离不开嵌套向量中断控制器(NVIC),NVIC控制整个芯片的中断相关问题,NVIC属于是内核里面的一个外设,因此与其说是STM32F103的中断系统,倒不如说是Cortex-M3(STM32F103的内核)的中断系统。Cortex-M3内核支持256个中断,其中16个内部中断,240个外部中断。以及256级中断优先级的设置。而STM32可支持85个中断,其中16个内部中断,68个外部中断。以及16级中断优先级的设置。原创 2023-12-19 11:48:05 · 2386 阅读 · 0 评论 -
【STM32F103】ADC 模拟数字转换器
ADC(Analog-to-Digital Converter),模拟-数字转换器,也叫模数转换器,可以将连续变化的模拟信号转换为离散的数字信号。我们可以外接上将采集信号转为模拟信号的模块,如光敏电阻传感器,热敏电阻传感器,反射式红外传感器等。这些传感器模块通过采样,量化,编码,通过AO引脚将模拟信号传出,我们可以使用STM32来接收,并且通过ADC来获取对应的数字信号。原创 2023-12-13 12:50:19 · 2510 阅读 · 0 评论 -
【STM32F103】USART通用同步异步收发器
通信分为串行通信和并行通信,区别如下,同样是发送0101的数据:可以看的出来,串行通信的优点是消耗的数据线会小一些。而并行通信的优点是传输的速度快。通常我们会选择使用串行通信来进行设备间的通信,这样会节省单片机引脚资源,同时传输的速率也是我们可以接受的。串行通信又分为异步通信和同步通信。异步通信的数据传输按帧传输,每一帧需要包含起始位,数据位,校验位和停止位,通过起始位和校验位我们就可以确定每帧数据的范围,校验位用来检验传输的数据是否有误。原创 2023-12-07 12:29:04 · 1962 阅读 · 0 评论 -
【STM32F103】GPIO通用输入输出口
GPIO(General Purpose Input Output)通用输入输出口是微控制器(MCU)必备的片上外设,可以实现微控制器与外部设备的数字交换。STM32F103系列的芯片最多可以提供112个多功能双向IO引脚,但是显然我们的STM32F103C8T6没有那么多IO口,直接把核心板拿起来看看就可以知道。具体可以查看一下引脚定义表(来自b站江科大自化协):虽然没有112个那么多,但是一般情况下也是够我们用的。原创 2023-12-03 14:10:08 · 3045 阅读 · 0 评论 -
【STM32F103】HC-SR04超声波测距模块详解(附工程文件)
使用的硬件:STM32F103C8T6,HC-SR04,ST-Link(其他烧录器也可以),0.96寸OLED屏幕(非必须,仅供显示测距结果,可以使用串口助手代替),若干杜邦线。涉及操作stm32的GPIO口,外部中断,定时器,本文中不会详细解释,仅提供代码思路。原创 2023-11-27 14:17:58 · 16766 阅读 · 17 评论