草庐IT

stm32c8t6+dht11+MQ系列环境检测模块+oled显示屏(基于物联网的家庭环境检测系统设计)

元件清单:stm32f103c8t6、mq2检测烟雾浓度(模拟量输出)、mq7检测一氧化碳浓度、mq135检测空气质量、OLED屏幕(四引脚仅支持iic协议通信)、dht11检测温湿度(数字量输出)、风扇模块、无源蜂鸣器、两引脚按键、WH-NB73-B5、ttl-usb接线图: 0:实现了dht11的温湿度以及mq2烟雾浓度的采集并通过OLED显示屏显示/*湿度整数湿度小数温度整数温度小数校验位00000000000000000000000000000000000000001看原理图确认GPIO引脚2、输出模式,输出起始信号:输出低电平18~30ms,20ms 3、IO口配置浮空输入模式,准检

STM32F103C8T6定时器产生PWM

概述:        这里我们来了解一下何为PWM,PWM是PulseWidthModulation的缩写,中文意思就是脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应用的控制方式。        在实际项目应用中最常见的有使用PWM驱动舵机转动到固定的角度或是通过PWM调节直流电机实得到想要的转速,还有我们常见大多设备上的呼吸灯。        我们生产PWM有常见的两种的方法,分别是:(1)定时器中断变量累加比较、(2)定时器自身的3个寄存器通过通道输出PWM。        这里我

STM32F103C8T6最小系统板实现蜂鸣器报警

文章目录接线图一、配置RCC时钟二、配置GPIO1.引入库while循环接线图SWD方式下载程序,4线,VCC,GND。SWDIO:SerialWireDataInputOutput,串行数据输入输出引脚,作为仿真信号的双向数据信号线,建议上拉。SWCLK:SerialWireClock,串行线时钟引脚,作为仿真信号的时钟信号线,建议下拉;蜂鸣器的IO口接在了最小系统板的PB12引脚上。蜂鸣器的操作方法和LED方式一样。注:上图蜂鸣器是低电平有效。一、配置RCC时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);STM32任何外设**第

STM32F103C8T6最小系统的复刻

本文将记录笔者对STM32F103C8T6最小系统的复刻过程,从原理图开始到打板。首先!要先把STM31F103C8T6芯片展出来。 首先是要了解每个模块第一个要了解的是电源模块由两部分组成:——供电电路可以使用普通的USB接口电路,5V电源输出——降压电路在开关稳压电源中作为输出滤波用的电解电容器。大容量电解电容并联的小电容,其作用在于旁路频率较高的波动电压,因为铝电解电容的制造工艺导致其具有较大的ESL(等效电感),无法滤除高频成份,故需加个小电容。USB的5V输入,然后输出为3.3VUSB转串口 SWD下载口去耦电容模块去耦电容的工作原理是为电源上的高频信号提供一条低阻抗通道,以便清理直

通过STM32F103C8T6配置完成基于SPI协议的0.96OLED屏显

目录前言一、了解SPI二、OLED屏显和汉字点阵编码原理1、汉字点阵编码原理2、OLED屏显3、引脚说明三、显示自己的学号和姓名四、显示温湿度五、左右的滑动显示长字符六、总结前言本篇博客主要是理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:1、显示自己的学号和姓名;2、显示AHT20的温度和湿度;3、上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”或者一段歌词或诗词(使用硬件刷屏模式)。另附:0.96寸SPI_OLED模块配套资料包:链接:https://pan.baidu.com/s/1mdLUqBqQZ_g

STM32F103C8T6程序烧录方法

1.购买烧录器pwlink2.下载Power  Writer烧录软件。3.在keil5里面设置,如下: 注:此步骤前需要先将烧录器和stm32f103c8t6开发板连好,接到电脑上,之后才能在1处看到设备。  下面这个烧录步骤可能会报错,如果报错往下看。 可能会报错,如下: 这就是个巨坑的问题,原因时购买的芯片不是正版,是国内的,坑的一批。处理方法如下:参考:https://blog.csdn.net/chunquqiulailll/article/details/113257923一句话概括就是正版是STM32F1系列的IDCODE为0x1B10477,国产山寨我所购买的STM32C8T6核

学习笔记 02:关于在某宝上面购买的stm32f103c8t6最小系统开发板如何使用USBtoTTL模块烧录程序的记录

前言    最近在学习用stm32制作,于是乎在某宝上面买了一个最小系统。我身边因为没有STLink、JLink等烧录器。无法烧录,痛苦面具的我差点就要去买一个烧录器,好在突然想起我之前搞蓝牙调试的时候有一块USBtoTTL模块,我可以用它来烧录程序,做一下笔记备忘。stm32f103c8t6最小系统开发板USBtoTTL模块使用USBtoTLL模块烧录程序的全过程    1、USBtoTTL模块的GND 连接 开发板的GND        2、USBtoTTL模块的3.3V 连接   开发板的3.3V        3、USBtoTTL模块的TXD 连接   开发板的PA10        

STM32项目-STM32智能小车-电子设计大赛-STM32cubemx-STM32f103c8t6STM32串口通信-

记录项目的详细制作过程,所以笔记很长,图很多、很多图不好CSDN搬运,我把笔记放网盘或者自己根据资料下载笔记网盘下载:链接:https://pan.baidu.com/s/1Mk2EVIha7Fpj4Xductg3Uw?pwd=VCC1提取码:VCC1笔记CSDN下载:第一章-硬件1.1-元件选型[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R0hM1EjE-1675083353042)(https://hjhvcc.oss-cn-nanjing.aliyuncs.com/img/20230130191750.png)]1.2-原理图与PCB底板原理图各个模块的

ios - 如何将 UIColor RGB 颜色转换为 uint32_t 值

如何将UIColor对象转换为uint32_t值。请让我知道是否有人知道这一点?代码如下:constCGFloat*components=CGColorGetComponents([UIColorredColor].CGColor);CGFloatr=components[0];CGFloatg=components[1];CGFloatb=components[2];constuint32_trgb=((uint32_t)r如何在uint32_t中传递0xFFFFFFFF值?constuint32_twhite=0xFFFFFFFF,black=0xFF000000,transp=0

Swift:将数据填充到 UInt8 类型的 unsafeMutablePointer 中不起作用

我有以下不起作用的代码。如何向UnsafeMutablePointer的内存块中填充数据?bufferSize是1024,我试着把0,1,2...1023填入buffer。letpbuffer=UnsafeMutablePointer.alloc(bufferSize)forindexin0...bufferSize-1{pbuffer[index]=UInt8(index)}谢谢! 最佳答案 您的问题不是UnsafeMutablePointer,而是您试图用一个不适合它的值初始化一个UInt8;UInt8的最大值为255。所以,直