简易信号发生器:
- 硬件平台:蓝桥杯嵌入式 ***Stm32G431RBT6*** 开发板(***Stm32F103ZET6*** 未验证)
- 软件设计:基于Stm32**HAL**库开发,尝试使用**分层思想**编写代码,方便他人移植使用。
- 波形输出引脚: ***PA2***(G431)/ ***PA4***(F103)
- 电压采集引脚: ***PA5***
软件设计分层:
- UI:表现层
- BLL:业务逻辑层
- BSP:板级支持包
- HAL:硬件抽象层
---
## 2.性能指标
目前此简易信号发生器G431采用 ***DMA+OPAMP*** +TIM+DAC方案,F103采用DMA+TIM+DAC方案,已实现功能有:
- 输出波形:正弦波、方波、三角波、锯齿波;
- 输出峰峰值:1.5~3.3V
- 输出频率:1Hz-94.8kHz(G431)/ 5Hz-40.2kHz(F103,未验证)
> 注:频率可以更高,不过波形会失真,因为DAC的转换需要时间(经测量G431的转换时间约为1.5us)
---
## 3.使用提示
### 3.1 设置波形输出
**3.1.1 通过按键(支持长按)**
| 按键 | 功能 |
| ---- | ------------ |
| KEY1 | 波形输出开关 |
| KEY2 | 设置选项切换 |
| KEY3 | 高亮选项递增 |
| KEY4 | 高亮选项递减 |
**3.1.2 通过串口发送命令**
由于按键有的开发板不一定有这么多个,于是编写了串口控制部分。
串口命令格式: {Type:Freq,Vpp}
命令长度最短为9个字符。其中,各部分的含义如下表所示。
| 协议格式 | { | Type | : | Freq | , | Vpp | } |
| -------- | ---- | -------- | ---- | ------ | ---- | ------ | ---- |
| 具体含义 | 包头 | 波形种类 | 格式 | 频率 | 格式 | 峰峰值 | 包尾 |
| 字节长度 | 1 | 1 | 1 | 不定长 | 1 | 3 | 1 |
- Type为一个数字,表示输出波形的状态,0-4分别表示以下含义:停止输出、输出正弦波、输出方波、输出三角波、输出锯齿波;
- 冒号之后的Freq表示频率,单位为Hz,例如:1表示设置输出波形频率为1Hz,114514表示设置输出波形频率为114514Hz,依此类推;
- 逗号之后的Vpp表示峰峰值,单位为V,格式为x.x,例如:2.0表示设置输出波形峰峰值为2.0V,3.3表示设置输出波形峰峰值为3.3V,依此类推。
例如,向串口发送 *{1:10000,1.5}*,即设置输出波形为10kHz且峰峰值为1.5V的正弦波;而发送 *{4:5,2.5}*,即设置输出波形为5Hz且峰峰值为2.5V的锯齿波。
> 注:发送命令无需加上回车换行。
### 3.3 移植方法
首先得有芯片得带有DAC模块,使用Stm32CubeMX按着Stm32G431的一样配置,没有OPAMP模块就不要用就好,将工程生成在Project文件夹之下就好。配置时需要注意:
- 定时器选择为32位,这样能生成更低的频率;
- 定时器不要分频,这样可以生成更高的频率;
生成项目之后,可以在 *bsp.h* 中,将选用模块配置信息填好即可。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
有手就能移植的 STM32信号发生器:输出波形:正弦波、方波、三角波、锯齿波;输出频率: (231个子文件)
103test.axf 704KB
stm32g4xx_hal_tim.c 252KB
stm32f1xx_hal_tim.c 235KB
stm32g4xx_hal_uart.c 149KB
stm32g4xx_hal_adc.c 143KB
stm32g4xx_hal_tim_ex.c 133KB
stm32f1xx_hal_uart.c 128KB
stm32g4xx_hal_adc_ex.c 92KB
stm32f1xx_hal_adc.c 90KB
stm32f1xx_hal_tim_ex.c 77KB
stm32g4xx_ll_adc.c 75KB
stm32g4xx_hal_rcc_ex.c 61KB
stm32g4xx_hal_dac.c 59KB
stm32f1xx_hal_adc_ex.c 51KB
stm32g4xx_hal_rcc.c 49KB
stm32f1xx_hal_rcc.c 48KB
stm32g4xx_hal_flash_ex.c 47KB
stm32f1xx_hal_dac.c 46KB
stm32g4xx_hal_opamp.c 40KB
stm32g4xx_hal_pwr_ex.c 37KB
stm32g4xx_hal_dac_ex.c 37KB
stm32f1xx_hal_flash_ex.c 35KB
stm32g4xx_hal_dma.c 34KB
stm32g4xx_hal_uart_ex.c 34KB
stm32g4xx_hal_opamp_ex.c 29KB
stm32f1xx_hal_rcc_ex.c 29KB
stm32f1xx_hal_flash.c 29KB
stm32f1xx_hal_dma.c 27KB
bsp_lcd.c 27KB
stm32g4xx_hal_pwr.c 24KB
stm32g4xx_hal_flash.c 23KB
stm32g4xx_hal.c 23KB
stm32f1xx_hal_gpio.c 20KB
stm32f1xx_hal_pwr.c 20KB
stm32g4xx_hal_cortex.c 20KB
stm32f1xx_hal.c 20KB
stm32f1xx_hal_cortex.c 18KB
stm32g4xx_hal_gpio.c 18KB
stm32g4xx_hal_exti.c 17KB
stm32f1xx_hal_dac_ex.c 17KB
stm32f1xx_hal_exti.c 15KB
system_stm32f1xx.c 14KB
system_stm32g4xx.c 10KB
stm32g4xx_hal_dma_ex.c 10KB
stm32g4xx_hal_flash_ramfunc.c 8KB
main.c 7KB
main.c 6KB
stm32g4xx_it.c 6KB
stm32f1xx_it.c 6KB
bll_setting_by_key.c 5KB
ui.c 4KB
stm32f1xx_hal_gpio_ex.c 4KB
usart.c 4KB
adc.c 4KB
dac.c 3KB
dac.c 3KB
bll_setting_by_uart_receive_command.c 3KB
usart.c 3KB
adc.c 3KB
gpio.c 3KB
tim.c 3KB
tim.c 3KB
gpio.c 3KB
opamp.c 3KB
bll_signal_generator.c 3KB
stm32g4xx_hal_msp.c 2KB
stm32f1xx_hal_msp.c 2KB
dma.c 2KB
dma.c 2KB
bll_setting.c 918B
bll_uart_send_data.c 787B
bll_beep.c 637B
bsp_key.c 423B
bsp_adc.c 324B
bsp_led.c 305B
bsp_beep.c 212B
G13151697_STM32G431RBTx.dbgconf 3KB
103test_STM32F103ZE_1.0.0.dbgconf 2KB
103test_103test.dep 122KB
stm32g431xx.h 967KB
stm32f103xe.h 940KB
stm32g4xx_ll_adc.h 481KB
stm32_hal_legacy.h 205KB
stm32_hal_legacy.h 203KB
core_cm33.h 169KB
core_armv81mml.h 165KB
core_armv8mml.h 162KB
stm32g4xx_hal_rcc.h 162KB
core_cm35p.h 161KB
core_cm33.h 161KB
stm32g4xx_hal_tim.h 158KB
core_armv8mml.h 155KB
core_cm7.h 146KB
core_cm7.h 142KB
stm32g4xx_hal_adc.h 142KB
stm32g4xx_hal_tim_ex.h 120KB
core_cm4.h 119KB
core_cm4.h 118KB
stm32f1xx_hal_tim.h 118KB
core_cm3.h 107KB
共 231 条
- 1
- 2
- 3
资源评论
- 对对对!我是你的master2024-11-27简直是宝藏资源,实用价值很高,支持!
编程ID
- 粉丝: 9w+
- 资源: 873
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- BaldisBasicsClassic.apk
- 跨语言神经音频编解码模型VALL-E X实现语音合成与翻译
- IMG_20241225_230314.jpg
- AT89C51单片机阳台绿色植物自动喷灌系统设计
- 电视盒子的远程输入法应用,可跨屏远程输入和跨屏远程控制盒子.7z
- Web前端-HTML+CSS-炫酷圣诞树
- 2×300MW火电厂电气一次部分设计
- 110kV商桥-柳村架空送电线路设计
- 多媒体流媒体领域的多编解码器DASH数据集研究与评价
- AT89C51单片机智能小区电子门控制系统的设计
- AT89C51节水灌溉自动控制系统的设计
- 软件设计模式创建型模式五项作业
- 2008-2020年各省技术服务水平相关指标数据
- MINI发票打印助手v1.0
- 锂电池固态电解质的应用和研究进展
- 扫描全能王6.41.0.230531高级版.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功