
STM32单片机
文章平均质量分 85
STM32单片机开发
田甲
嵌入式开发
展开
-
【STM32】STemWin库,使用template API
使用STemwinGUI库,基于STM32F411CEU6和ST7789屏幕芯片。采用外部API方式原创 2025-04-13 23:23:22 · 1074 阅读 · 0 评论 -
【STM32】ST7789屏幕驱动
使用STM32F411CEU6单片机驱动ST7789屏幕,SPI通信,基于HAL库原创 2025-04-12 14:40:18 · 1208 阅读 · 0 评论 -
【STM32】无源蜂鸣器播放音乐《千与千寻》,HAL库
工程使用STM32系列微控制器(STM32F4系列)作为主控芯片,连接无源蜂鸣器至GPIO端口,用于生成音频信号。开发工具包括STM32CubeMX(用于外设配置和初始化代码生成)以及Keil uVision或STM32CubeIDE进行代码编写、调试和烧录。硬件资源还包括时钟源(如72 MHz系统时钟)和ST-Link调试器。软件资源方面,项目使用STM32 HAL库进行硬件抽象,简化GPIO、定时器等外设的操作。音符数据通过MIDI文件提取或手动创建,包含每个音符的频率和时长信息。通过定时器PWM控原创 2025-01-09 22:52:38 · 1817 阅读 · 2 评论 -
【STM32】INA3221三通道电压电流采集模块,HAL库
INA3221 三通道、高侧测量、分流和总线电压监视器,具有兼容 I2C 和 SMBUS 的接口 datasheet (Rev. B)笔者所使用的INA3221是淘宝买的模块原理图模块的三个通道的电压都是一样,都是POWER。这个芯片采用的是高侧测量:每个通道有两个引脚,一个连接负载去给负载供电,另一个回来,回到GND经过笔者测量和观察,采样电阻的阻值应该是100mΩ。原创 2024-11-02 22:31:07 · 2834 阅读 · 0 评论 -
【STM32】状态机实现定时器按键消抖,处理单击、双击、三击、长按事件
众所周知,普通的机械按键会产生抖动,可以采取硬件上加电容来滤波,也可以考虑用软件来消抖。这里笔者分享一种基于状态机的按键消抖策略,可以实现单击双击三击长按事件的读取。按键时间也可以自己设置。这种方法需要消耗掉定时器资源,还有额外的RAM支出。如图矩形框内描述,最终键值的确定需要标志位和计数值,因此一个按键结构体应该这样定义//按键端口//按键PIN//按键类型//按压计数器//高电平计数器//按压标志//松手标志//按键键值。原创 2024-05-14 21:36:07 · 6823 阅读 · 11 评论 -
【STM32】硬件SPI+DMA驱动WS2812灯珠,基于HAL库
STM32F103单片机配合Cubemx软件,基于HAL库,利用SPI和DMA驱动ws2812灯珠,实现幻彩流水灯。笔者使用的WS2812是淘宝买的灯环,如下图所示留出来四个接口,分别是根据描述我们使用到的仅为DIN,VCC,GND5VPA7。原创 2024-01-27 22:47:16 · 8693 阅读 · 6 评论 -
【STM32】超声波测距模块HC-SR04用定时器输入捕获实现测距
使用STM32F103CBT6单片机的定时器输入捕获功能实现对超声波测距模块HC-SR04的距离读取,开启输入捕获中断,在中断中读取数值,进行处理。原创 2024-01-23 23:11:37 · 2418 阅读 · 1 评论 -
【STM32】DS3231硬件I2C读写,基于HAL库
DS3231,除了I2C通信引脚和电源引脚,剩余引脚并未引出,如下图所示。笔者的单片机为STM32F103CBT6,使用I2C2因此接线如下。原创 2024-01-18 22:58:03 · 3411 阅读 · 4 评论 -
【STM32】AT24C256硬件I2C读写,基于HAL库
STM32F103C8T6单片机使用HAL库配合CubeMX对AT24C256模块进行读写,存储容量256Kb即32KB(32K字节)。模块的原理图如下驱动协议是IIC,考虑开启硬件IIC进行通信,笔者选择使用IIC2。原创 2023-10-15 16:57:33 · 7561 阅读 · 8 评论 -
CubeMX配置STM32F103C8T6多路ADC配合DMA采集
基于HAL库的STM32F103C8T6单片机使用CubeMX进行配置,多通道ADC配合DMA进行数据采集原创 2023-10-10 21:31:37 · 4307 阅读 · 4 评论 -
STM32配合CubeMX硬件SPI驱动0.96寸OLED
基于STM32F030单片机的硬件SPI接口实现0.96寸OLED的显示,大大加快显示速率。结合CubeMX软件实现快速配置,减少开发过程中繁琐的操作,实现快速开发。接口封装,当切换通信协议时只需修改底层驱动即可,增加通用性原创 2023-10-02 16:40:10 · 4760 阅读 · 5 评论 -
使用0.96寸OLED显示中文字符串
的,要显示的话不能单纯地使用ASCII码表查找,要在自己取得的字库字模中选取。显示汉字和显示字符非常相似,其思路是一样的,不同之处在于汉字的编码是。,宋体取得的汉字一到九放入字库hz16.c中。显示中文字符串和显示字符串类似。容这四个属性,使用一个结构体定义。作为示例,将以字体大小为。编写显示中文字符串函数。原创 2023-06-02 01:12:47 · 2454 阅读 · 3 评论 -
STM32配合cubeMX硬件I2C驱动0.96寸OLED
有机发光二极管OLED)又称有机电激发光显示OELD)、有机发光半导体,OLED技术最早于1950年代和1960年代由法国人和美国人研制,其后由美国柯达及英国剑桥大学加以演进,日本SONY及韩国三星和LG等公司于21世纪开始量产,现在的市场都趋近于OLED但是在寿命上比LCD短。[来源请求]OLED(有机发光二极管)与TFT-LCD(薄膜晶体管液晶显示器)为不同类型的产品,OLED具有自发光性、广视角、高对比、低耗电、高反应速率、全彩化及制程简单等优点,但相对的在大面板价格、技术选择性 、寿命、分辨率色彩。原创 2023-05-29 13:33:14 · 6476 阅读 · 4 评论 -
STM32F030C8T6核心板
自制STM32F030C8T6核心板,板载两个用户编程LED灯,CH340NUSB转串口芯片,有20针牛角座用于官方版stlink连接下载,带i2c,spi接口原创 2023-05-20 20:15:00 · 1547 阅读 · 2 评论 -
STM32F1使用HAL库驱动DS18B20
DS18B20是一款单总线(one wire)芯片,因此其DQ引脚与单片机相连的IO口既要是输入也要是输出,cubeMX的初始化引脚设置只能选择其一,这里我们使用手动配置引脚。原创 2023-05-08 21:27:20 · 3282 阅读 · 13 评论