- 博客(30)
- 收藏
- 关注
原创 【STM32】无源蜂鸣器播放音乐《千与千寻》,HAL库
工程使用STM32系列微控制器(STM32F4系列)作为主控芯片,连接无源蜂鸣器至GPIO端口,用于生成音频信号。开发工具包括STM32CubeMX(用于外设配置和初始化代码生成)以及Keil uVision或STM32CubeIDE进行代码编写、调试和烧录。硬件资源还包括时钟源(如72 MHz系统时钟)和ST-Link调试器。软件资源方面,项目使用STM32 HAL库进行硬件抽象,简化GPIO、定时器等外设的操作。音符数据通过MIDI文件提取或手动创建,包含每个音符的频率和时长信息。通过定时器PWM控
2025-01-09 22:52:38
1445
原创 【STM32】INA3221三通道电压电流采集模块,HAL库
INA3221 三通道、高侧测量、分流和总线电压监视器,具有兼容 I2C 和 SMBUS 的接口 datasheet (Rev. B)笔者所使用的INA3221是淘宝买的模块原理图模块的三个通道的电压都是一样,都是POWER。这个芯片采用的是高侧测量:每个通道有两个引脚,一个连接负载去给负载供电,另一个回来,回到GND经过笔者测量和观察,采样电阻的阻值应该是100mΩ。
2024-11-02 22:31:07
2209
原创 安装AURIX™ Development Studio软件,新建工程,基于英飞凌TC375
从英飞凌官网下载ADS软件,安装软件。新建工程并导入已有的LED闪烁工程,烧录示例代码实现点灯
2024-08-12 21:32:57
1092
原创 【STM32】状态机实现定时器按键消抖,处理单击、双击、三击、长按事件
众所周知,普通的机械按键会产生抖动,可以采取硬件上加电容来滤波,也可以考虑用软件来消抖。这里笔者分享一种基于状态机的按键消抖策略,可以实现单击双击三击长按事件的读取。按键时间也可以自己设置。这种方法需要消耗掉定时器资源,还有额外的RAM支出。如图矩形框内描述,最终键值的确定需要标志位和计数值,因此一个按键结构体应该这样定义//按键端口//按键PIN//按键类型//按压计数器//高电平计数器//按压标志//松手标志//按键键值。
2024-05-14 21:36:07
6259
12
原创 【STM32】硬件SPI+DMA驱动WS2812灯珠,基于HAL库
STM32F103单片机配合Cubemx软件,基于HAL库,利用SPI和DMA驱动ws2812灯珠,实现幻彩流水灯。笔者使用的WS2812是淘宝买的灯环,如下图所示留出来四个接口,分别是根据描述我们使用到的仅为DIN,VCC,GND5VPA7。
2024-01-27 22:47:16
7742
7
原创 【STM32】超声波测距模块HC-SR04用定时器输入捕获实现测距
使用STM32F103CBT6单片机的定时器输入捕获功能实现对超声波测距模块HC-SR04的距离读取,开启输入捕获中断,在中断中读取数值,进行处理。
2024-01-23 23:11:37
2183
2
原创 【STM32】DS3231硬件I2C读写,基于HAL库
DS3231,除了I2C通信引脚和电源引脚,剩余引脚并未引出,如下图所示。笔者的单片机为STM32F103CBT6,使用I2C2因此接线如下。
2024-01-18 22:58:03
3094
5
原创 【STM32】AT24C256硬件I2C读写,基于HAL库
STM32F103C8T6单片机使用HAL库配合CubeMX对AT24C256模块进行读写,存储容量256Kb即32KB(32K字节)。模块的原理图如下驱动协议是IIC,考虑开启硬件IIC进行通信,笔者选择使用IIC2。
2023-10-15 16:57:33
6982
9
原创 CubeMX配置STM32F103C8T6多路ADC配合DMA采集
基于HAL库的STM32F103C8T6单片机使用CubeMX进行配置,多通道ADC配合DMA进行数据采集
2023-10-10 21:31:37
4003
5
原创 STM32配合CubeMX硬件SPI驱动0.96寸OLED
基于STM32F030单片机的硬件SPI接口实现0.96寸OLED的显示,大大加快显示速率。结合CubeMX软件实现快速配置,减少开发过程中繁琐的操作,实现快速开发。接口封装,当切换通信协议时只需修改底层驱动即可,增加通用性
2023-10-02 16:40:10
4539
6
原创 Keil添加51单片机器件库和C51编译器
方法比较简单,打开STC-ISP软件,没有的话可以点击下面网址下载。安装到keil的安装目录下,一般来说会自动识别,点下一步即可。打开keil新建工程,发现已经安装STC器件包。点击下载后会提示提交表单,填写提交即可。首先去keil官网下载C51编译器。解压出来是一个exe,双击运行即可。出现C51评估版即安装完成。安装完毕后打开keil。
2023-09-09 12:02:13
3774
原创 【KiCad】自制STlink V2.1
前言笔者之前在淘宝买的和u盘差不多的STlink需要把一端接在电脑的USB口或者拓展坞上,另一边用排线连接目标板,很不方便,就打算自己制作一款STlink。
2023-09-08 19:00:29
768
原创 【DSP】新建工程,基于TMS320F28335
工程建好后是没有相应的支持库和驱动程序的,但是自动生成了一个cmd文件,就是上图的28335_RAM_lnk.cmd这个文件是用来分配存储器资源的,我们还需要一个cmd文件来对外设寄存器进行映射。进入c2000WARE的安装目录,选择f2833x文件夹,点击进入,里面有如下四个子文件夹,选择headers文件夹,点击进入。接下来添加相应的源文件。
2023-09-07 21:07:26
1773
2
原创 【DSP】建立工程模板,基于TMS320F28335
前面每次新建项目都新建CCS工程,比较繁琐且费时间。考虑制作一个工程模板,适用于大多数CCS项目开发。这样,在需要新项目的时候,复制一份模板即可。将common文件夹和headers文件夹下的两个include文件夹包含进来。制作模板的缺陷是不能用到什么文件添加什么文件,需要包含所有的外设源文件。添加文件夹,取名lib,用于存放TI官方的支持库。右键工程,属性,或者alt+enter也可以。继续添加common和headers文件夹。选择除了下面两个文件外的所有文件。右键common文件夹,导入。
2023-09-07 19:18:03
541
原创 【DSP】手把手新建CCS工程(蜂鸣器鸣叫),基于TMS320F28335
基于TMS320F28335开发板,下载官方库文件,新建ccs工程,实现蜂鸣器鸣叫
2023-08-31 21:54:09
1466
4
原创 使用0.96寸OLED显示中文字符串
的,要显示的话不能单纯地使用ASCII码表查找,要在自己取得的字库字模中选取。显示汉字和显示字符非常相似,其思路是一样的,不同之处在于汉字的编码是。,宋体取得的汉字一到九放入字库hz16.c中。显示中文字符串和显示字符串类似。容这四个属性,使用一个结构体定义。作为示例,将以字体大小为。编写显示中文字符串函数。
2023-06-02 01:12:47
2332
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
6226
5
原创 STM32F030C8T6核心板
自制STM32F030C8T6核心板,板载两个用户编程LED灯,CH340NUSB转串口芯片,有20针牛角座用于官方版stlink连接下载,带i2c,spi接口
2023-05-20 20:15:00
1485
2
原创 STM32F1使用HAL库驱动DS18B20
DS18B20是一款单总线(one wire)芯片,因此其DQ引脚与单片机相连的IO口既要是输入也要是输出,cubeMX的初始化引脚设置只能选择其一,这里我们使用手动配置引脚。
2023-05-08 21:27:20
2987
14
原创 51单片机ADC0804的使用
效果为转动滑动变阻器,串口打印电压,若不转动,串口不产生输出。经过电压表检测,串口打印电压值与实际值误差约3%这里用到的串口打印函数,可以看我另一篇关于串口的博客,里面有完整代码。开始编写驱动文件adc0804.c和adc0804.h如下。我们需要ad转化的时候 ,分两步走,其中public.h文件内容如下。
2023-04-04 00:48:56
1100
原创 51单片机串口的使用
一般在调试上串口使用较多,也作为数据收发使用(Serial port),也称串行接口或串行端口,串行通信接口,COM接口,简称串口。主要用于式逐传输。常见的有一般应用的(使用 25 针或 9 针连接器)和应用的与。查看芯片手册这里笔者采用的是。
2023-04-02 01:40:32
922
STM32无源蜂鸣器播放音乐《千与千寻》
2025-01-09
STM32超声波测距模块HC-SR04用定时器输入捕获实现测距
2024-12-22
STM32DS3231硬件I2C读写,基于HAL库
2024-12-22
基于HAL库,状态机编程STM32F103单片机实现按键消抖,处理按键单击,双击,三击,长按事件 开启定时器中断处理
2024-07-18
STM32硬件SPI配合DMA驱动WS2812流水灯,基于HAL库
2024-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人