摘要:
制作DDS信号发生器(FPGA部分) 功能 组件 32位寄存器 这里采用2个16位寄存器拼接 代码如下 module REG16B(CLK,D,Q); input[15:0] D; input CLK; output[15:0] Q; reg[15:0] Q; always @(posedge CL 阅读全文
posted @ 2026-03-26 00:41
奶龙大王
阅读(4)
评论(0)
推荐(0)
利用OpenMV和STM32完成球类识别 单片机部分 功能简述: PA1脚接收OpenMV,若检测到高电平(检测到球形物体),则点亮单片机开发板上的LED 流程图 由于代码主要涉及中断函数,主函数部分就一笔带过了 硬件初始化 时钟 初始化RCC,开启外部高速晶振 按照如下方式配置时钟树 配置GPIO 阅读全文
利用TIM模块演奏音乐 大致思路 利用一个定时器(TIM4)输出PWM波控制蜂鸣器音调,另一个定时器(TIM3)模块控制播放的节奏 准备部分 设计电路 准备材料 导线若干,稳压二极管,无源蜂鸣器 设计电路图 将蜂鸣器按照极性接分别接在信号源和接地端 同时在蜂鸣器侧反向并联一个稳压二极管,防止反向电流 阅读全文
利用RC滤波电路和PWM实现控制电压 1、流程图 主函数 中断部分 2、初始化硬件 CubeMX部分 使能外部晶振 并按照如下方式配置时钟树 使能GPIO的外部中断 开启TIM1,并开启通道1的"PWM生成模式" 代码部分 (1)切换挡位 思路 使用环状链表来装载PWM的比较值,当按钮被按下后访问下 阅读全文
利用PWM和RC滤波电路输出正弦波 流程图 主程序 中断部分 1、初始化硬件 (1)时钟 使能RCC,选择外部高速晶振 将HCLK配置为最大的84MHz (2)PWM 使能TIM1,将PWM设为20KHz,将死区设置为25ns 注意:为防止开关不同步导致的短路,需要设置“死区” PWM频率计算公式: 阅读全文
利用旋钮控制 1、初始化 该项目以复刻旋钮的项目为基础进行扩展,前置步骤请参考以下帖子:复刻江协旋钮控制模块 (1)PWM配置 将时钟按照如下方式重新配置 使能TIM3计时器 (2)写入代码 在主循环外启用计时器的PWM模式 HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL 阅读全文