- 博客(18)
- 收藏
- 关注
原创 AD9833-示波器输入阻抗影响波形
注意示波器输入阻抗接 50Ohm。否则输出三角波会严重失真,100k就失真,但是根据商家给的资料 1M 都不会出现这样的失真。
2025-07-04 16:13:21
280
原创 STM32H723ZGT6-修改内存分布以定义很大的数组
STM32H7系列有多个RAM区域(如 DTCMRAM, SRAM1, SRAM2, AXI_SRAM),如果链接脚本只分配了很小的一个区域,或者分配不合理,就会导致可用RAM不够。Read Write 128KB: 数据段和未初始化段(变量、数组等)分配到的内存区域——也就是 AXI SRAM,只分配了 128KB。是内存分配不足导致的。程序分配的 .bss 和 .data 段(也就是全局变量、静态变量的未初始化和已初始化部分)超出了链接脚本分配给。(SRAM、DTCM、AXI SRAM等)的空间。
2025-06-29 17:53:17
269
原创 USART-HMI—数字键盘的使用
支持系统键盘的控件:文本控件、数字控件、虚拟浮点数控件、滚动文本控件、滑动文本控件。建议不要用按钮,因为没找到方法在这里不给按钮上的文字赋值。将控件的vscope属性设置为全局,然后配置key属性。写在事件编辑上的代码的赋值等号左右不能有空格!input.txt 和 show.txt 置为空。目前看来仅限整数,小数有待研究。vscope 改为 全局。
2025-06-29 02:28:45
107
原创 STM32H723ZGT6-ADC DMA 无法读取
ADC1 的 DMA 一直读不到东西,adc1_buffer 始终是 0,但是可以进中断。这个的原理有待研究,取消勾选即可。
2025-04-26 23:11:52
288
1
原创 STM32H723ZGT6-测 1k - 200kHz 的频率,TIM+DMA+ADC
测量脉冲波信号的频率,测量误差不大于 2%,显示精度不低于 1Hz。本题因为采样率高,根据奈奎斯特采样定律,只能准确测出约 2kHz - 200kHz 的频率。
2025-02-27 20:49:33
1216
原创 电压调理电路:放大正弦波+直流偏置
完成电压调理电路的设计仿真,实现在1kHz~10kHz范围内,输入峰峰值6V,偏移0V的正弦波,输出峰峰值3V,偏移1.5V的同频正弦波;直流偏置 + 1.5 V,输入信号放大 0.5 倍。信号加到反向端,直流电平加到同向端。选择运放, NE5532P, 反相端在上。
2025-02-25 22:19:02
2179
原创 STM32F103C8T6-测量脉冲波平均值、高电平值、低电平值
测量电路可以测量和显示脉冲波信号的平均值、高电平值、低电平值,量程 3.3V,分辨率 0.1V、测量误差不大于 5%。在 Keil 中导入 DSP(没有使用)添加三个 include(没有使用)在 Define 添加(没有使用)配置 DSP 库(没有使用)配置 debug 方式。添加宏定义(没有使用)ADC 中断回调函数。
2025-02-24 21:38:37
1258
原创 STM32F103C8T6-测量脉冲波信号频率和占空比
测量脉冲波信号的频率,测量误差不大于 2%,显示精度不低于 1Hz。本文给出的方法主要是测量低频的方法。在测 10 kHz 以下有用。放在循环里可能会造成问题。
2025-02-23 16:07:51
736
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
3156
原创 STM32F103C8T6-键盘+OLED
当某一行线被设置为低电平时,与之相交的列线会被检测。当检测到列线上有低电平时,可以确定被按下的按键位于当前选中的行上;若列线上无低电平,那么将此行线设置为高电平,下一行设置为低电平,进行新一轮按键检测。此处存在的问题是:原先使用 for 循环进行轮询,使用 int 4 * 4 数组进行状态的记录,但是在 debug 的过程中发现数组经过循环并不能重新置 0,存在多个 1 的情况,因此按键会在按几下之后卡住。当某一行线被选中(设置为低电平)时,微控制器会读取所有列线的电平状态,以判断是否有按键被按下。
2025-02-16 16:40:00
147
原创 STM32F103C8T6-OLED 代码移植
OLED,(使用I2C2,SCL引脚为PB10, SDA引脚为PB11)编写驱动程序,可显示”Hello,World!”,“西电电赛”,“姓名+学号”。
2025-02-09 16:25:21
244
原创 STM32F103C8T6-串口接收数据取反
串口(使用USART2,TX为PA2,RX为PA3),发送0x55显示在上位机串口助手上,将接收的上位机数据取反后再发送到串口助手上。(波特率9600)
2025-02-06 08:51:20
435
原创 STM32F103C8T6-流水灯、PWM 与呼吸灯
绝大多数的单片机上,处理模拟信号的资源很少。STM32F103C8T6 上只有模数转换功能(ADC),用于读取模拟信号的电压值;脉冲宽度调制(PWM, Pulse-Width Modulation)能够通过改变占空比,用数字信号尽可能地模拟模拟信号效果。只要动态地改变占空比,宏观上看就能产生 [0, 3.3V] 的电压。
2025-02-05 19:58:02
2089
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人