- 博客(13)
- 收藏
- 关注
原创 STM32H723ZGT6-测 1k - 200kHz 的频率,TIM+DMA+ADC
测量脉冲波信号的频率,测量误差不大于 2%,显示精度不低于 1Hz。本题因为采样率高,根据奈奎斯特采样定律,只能准确测出约 2kHz - 200kHz 的频率。
2025-02-27 20:49:33
828
原创 电压调理电路:放大正弦波+直流偏置
完成电压调理电路的设计仿真,实现在1kHz~10kHz范围内,输入峰峰值6V,偏移0V的正弦波,输出峰峰值3V,偏移1.5V的同频正弦波;直流偏置 + 1.5 V,输入信号放大 0.5 倍。信号加到反向端,直流电平加到同向端。选择运放, NE5532P, 反相端在上。
2025-02-25 22:19:02
1155
原创 STM32F103C8T6-测量脉冲波平均值、高电平值、低电平值
测量电路可以测量和显示脉冲波信号的平均值、高电平值、低电平值,量程 3.3V,分辨率 0.1V、测量误差不大于 5%。在 Keil 中导入 DSP(没有使用)添加三个 include(没有使用)在 Define 添加(没有使用)配置 DSP 库(没有使用)配置 debug 方式。添加宏定义(没有使用)ADC 中断回调函数。
2025-02-24 21:38:37
1118
原创 STM32F103C8T6-测量脉冲波信号频率和占空比
测量脉冲波信号的频率,测量误差不大于 2%,显示精度不低于 1Hz。本文给出的方法主要是测量低频的方法。在测 10 kHz 以下有用。放在循环里可能会造成问题。
2025-02-23 16:07:51
482
1
原创 STM32F103C8T6-ADC + DMA采集,TIM 控制采样率
时钟设置:ADC1、ADC2 都依靠 APB2 的时钟线,频率不宜太快,在 F103 上不超过 14MHz。让 ADC 以定时器(TIM3)触发作为采样时钟,在按键回调中修改定时器的频率(Period/Prescaler),从而改变 ADC 的触发频率。ADC采集(使用 PA0 引脚),采集电压信号,采样率可控,通过串口发送至串口助手上,同时显示到OLED上。- TIM3: 设置内部时钟,自动重装载,预分频,ARR, 事件触发。ADC1: 设置定时器 3 触发,设置 DMA。模式,在最后开启 DMA。
2025-02-21 17:36:03
1394
原创 STM32F103C8T6-键盘+OLED
当某一行线被设置为低电平时,与之相交的列线会被检测。当检测到列线上有低电平时,可以确定被按下的按键位于当前选中的行上;若列线上无低电平,那么将此行线设置为高电平,下一行设置为低电平,进行新一轮按键检测。此处存在的问题是:原先使用 for 循环进行轮询,使用 int 4 * 4 数组进行状态的记录,但是在 debug 的过程中发现数组经过循环并不能重新置 0,存在多个 1 的情况,因此按键会在按几下之后卡住。当某一行线被选中(设置为低电平)时,微控制器会读取所有列线的电平状态,以判断是否有按键被按下。
2025-02-16 16:40:00
100
原创 STM32F103C8T6-OLED 代码移植
OLED,(使用I2C2,SCL引脚为PB10, SDA引脚为PB11)编写驱动程序,可显示”Hello,World!”,“西电电赛”,“姓名+学号”。
2025-02-09 16:25:21
127
原创 STM32F103C8T6-串口接收数据取反
串口(使用USART2,TX为PA2,RX为PA3),发送0x55显示在上位机串口助手上,将接收的上位机数据取反后再发送到串口助手上。(波特率9600)
2025-02-06 08:51:20
306
原创 STM32F103C8T6-流水灯、PWM 与呼吸灯
绝大多数的单片机上,处理模拟信号的资源很少。STM32F103C8T6 上只有模数转换功能(ADC),用于读取模拟信号的电压值;脉冲宽度调制(PWM, Pulse-Width Modulation)能够通过改变占空比,用数字信号尽可能地模拟模拟信号效果。只要动态地改变占空比,宏观上看就能产生 [0, 3.3V] 的电压。
2025-02-05 19:58:02
1245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人