草庐IT

基于STM32F103C8T6的物联网温湿度光照烟雾监测系统

1、系统组成:STM32F103C8T6最小系统、S8050三极管、有源高电平触发蜂鸣器、ESP8266_01S模块、DHT11温湿度传感器、0.96OLED显示屏、BH1750光照度传感器、MQ2烟雾浓度传感器、LED灯、碳膜电阻(300欧)、独立按键、排针若干、杜邦线若干、微信小程序、USB转TTL串口烧录工具等。2、需要用到的软件:Keil5(STM32版本)、串口调试助手、Flymcu程序烧录软件、微信开发者工具、字模取模软件以及其它需要用到的软件。3、实现功能:(1)检测环境温湿度,并实时显示到OLED显示屏。当温湿度超过程序中设置的阈值,实现蜂鸣器报警。(2)检测环境光照强度,并实

STM32F103C6T6之PWM+DMA篇

最近在学习PWM+DMA配合生成可改变占空比的PWM波形。找了很多很多资料但是感觉对初学者不是很友善,只是提供了很多原理。这边使用的代码是固件库版的,也是学习STM32最基础的固件库代码了吧!预分频器(TIMx_PSC)自动重装载寄存器(TIMx_ARR)捕获/比较寄存器x(TIMx_CCRx)一、原理当PWM计数到CCR寄存器的设定值后触发对应DMA请求,将下次CCR值装入就是了。二、函数(结构体)PWM:时基初始化结构体、输出比较寄存器结构体DMA:DMA初始化结构体三、踩到的坑(真的是绝)1、确定定时器高级控制定时器(TIM1、TIM8)、通用定时器(TIMx)、基本定时器(TIM6、T

stm32f103c8t6单片机使用st-link/v2仿真器烧录程序的过程

ST-link/v2仿真器在stm32f103c8t6核心板中烧录程序1、首先,电脑usb接口接上仿真器ST-LINK/V2,查看设备管理器。若连接正常,则出现上图红线部分2、ST-link/v2与stm32f103c8t6的连接,如下图对应引脚相连接即可。3、stm32f103c8t6烧录时单片机必须接电,我一般boot0,boot1都接0(这一步单片机的启动方式没懂)4、烧录程序STM32F103ZET6移植到STM32F103C8T6中第一步打开魔术棒,点击Device,选中STM32F103C8芯片第二步点击Target,晶振频率修改为8.0MHZ第三步将CORE里面的后缀为hd.s的

stm32f103c8t6单片机使用st-link/v2仿真器烧录程序的过程

ST-link/v2仿真器在stm32f103c8t6核心板中烧录程序1、首先,电脑usb接口接上仿真器ST-LINK/V2,查看设备管理器。若连接正常,则出现上图红线部分2、ST-link/v2与stm32f103c8t6的连接,如下图对应引脚相连接即可。3、stm32f103c8t6烧录时单片机必须接电,我一般boot0,boot1都接0(这一步单片机的启动方式没懂)4、烧录程序STM32F103ZET6移植到STM32F103C8T6中第一步打开魔术棒,点击Device,选中STM32F103C8芯片第二步点击Target,晶振频率修改为8.0MHZ第三步将CORE里面的后缀为hd.s的

基于STM32F103——矩阵按键+串口打印

STM32F103-矩阵按键+串口打印基本介绍代码matrix_key.cmatrix_key.hmain.c项目演示基本介绍最近做了一个门禁卡小玩意,用到了4X4矩阵按键,在这里也单独的记录一下。矩阵按键图思路:矩阵按键读取键值写法多样,有一行一行的检测,也有是全部行检测,我这里是全部去扫。先扫描4列是否有按下,有再切换扫描所有行。第一步:先让行拉低(输出模式),去检测列(输入模式拉高) 如果检测到有第二步:让列拉低(输出模式),去检测行(输入模式拉高)第三步:这样就可以获取到哪按键按下了。代码matrix_key.c#include"matrix_key.h"#include"usar

stm32f103——通用定时器输出PWM

通用定时器 ----输出   1,输出一个PWM   2,检测脉冲宽度      1》PWM---脉冲宽度调制      占空比:高电平占整个周期的百分比  2》PWM作用:调节灯的亮度,声音的大小,速度的快慢----平均电压值      什么是PWM信号?        PWM,英文名PulseWidthModulation,是脉冲宽度调制(记住这个名词)缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如

STM32系列(HAL库)——F103C8T6通过HC-SR04超声波模块实现测距

1.软件准备(1)编程平台:Keil5(2)CubeMX(3)XCOM(串口调试助手)2.硬件准备(1)某宝买的超声波模块 (2)F1的板子,本例使用经典F103C8T6(3)ST-link 下载器(4)USB-TTL模块(5)杜邦线若干3.模块资料(1)模块简介:        超声波是振动频率高于20kHz的机械波。它具有频率高、波长短、绕射现象小、方向性好、能够成为射线而定向传播等特点。HC-SRO4是一款尺寸完全兼容老版本,增加UART和IIC功能的开放式超声波测距模块,默认条件下,软件与硬件完全兼容老版本HC-SRO4;可以通过电阻设置成UART或IIC模式。2CM盲区,4.5M典型

【开源硬件篇】STM32F103C8T6主控板

STM32F103C8T6主控板文章目录STM32F103C8T6主控板设计目标一、STM32F103C8T6核心板外围引脚电路1.1原理图设计1.2PCB设计用例二、ISP一键下载电路设计2.1原理图设计2.2原理分析2.2.1CH340电路选择2.2.2ISP一键下载原理2.3PCB设计示例三、串口通信电路3.1原理图设计3.2原理分析3.3PCB设计示例四、5V转3.3V电路4.1原理图设计4.2原理分析4.2.1AMS1117芯片数据手册分析4.2.2AMS1117电路分析4.3PCB设计示例五、舵机控制电路5.1原理图设计5.2原理分析5.3PCB设计示例设计目标能够控制9路5V舵机

合宙AIR32F103CBT6刷回CMSIS-DAP固件和DAP升级固件以及刷ST-LINK V2-1固件方法

合宙AIR32F103CBT6刷回CMSISDAP固件和DAP升级固件以及刷ST-LINKV2-1固件方法📌官方介绍文档:https://wiki.luatos.com/chips/air32f103/index.html📍原理图:https://cdn.openluat-luatcommunity.openluat.com/attachment/20220605164915340_AIR32CBT6.pdf🎈相关篇《【开源电路】ST-LINK/V2、ST-LINK/V2-1、DAP-LINK烧录器(已验证)》✨手上购买的这个两块板子已有2个月了,一直放在这着没动,今天想拿出来给其STM32F

STM32F103R8T6 SPWM实现正弦波输出

前言PWM合成正弦波,原理什么的不详细说了,概括一下就是PWM有效面积的积分=正弦波的有效面积。PWM的频率越快,细分的越多,锯齿也就越不明显。做法是:首先利用正弦波取点软件,取点1000个,生成一个正弦波的数组。PWM波的频率(F_PWM)与正弦波频率(F_SIN)之间的对应关系与采样点数(S_NUM)有着密切的关系,即:F_SIN=F_PWM/S_NUMS_NUM在这里为1000,因为取了1000个点先用TIM1高级定时器来生成一个PWM波作为载波,我用的是72M主频,分频系数0,TIM_Period填1000(这个1000就是PWM的总周期,要大于等于正弦波数组的满值)再用TIM2来生成