163|0

57

帖子

5

TA的资源

一粒金砂(高级)

楼主
 

【Follow me第二季第3期】EK_RA6M5拓展任务——波形发生器 [复制链接]

  本帖最后由 MioChan 于 2024-12-12 21:30 编辑
扩展任务要求设计一个类似信号发生器功能的例程。可在示例程序上修改。通过命令或按键,设置DAC输出波形,可通过flash存储历史波形等信息。
在这个任务我一直是想着从零新建一个工程,配置定时器、USB串口实现按钮中断、多线程之类的,结果因为第一次接触这种板子没有什么经验,被卡住了很久。最后参考了坛友beyond_笑谈在帖子(https://bbs.eeworld.com.cn/thread-1301194-1-1.html)中实现方法,同样是直接基于示例程序进行修改,这样实现起来方便了很多。先在这里感谢一下笑谈做的工作,我在他代码的基础上继续实现了正弦波的生成,并可以自定义输出波形,即输入两个缩放因子对波形的幅度和周期进行改变,并修改了保存和读取波形的部分代码,以便可以保存自己自定义的波形及其加载。
 
这个程序相较于示例工程主要是以下两个地方做了变动:
下图是波形生成器的菜单部分,可以在USB串口中调整,其中wavetype,amplitude_scale,period_scale是三个全局变量,wavetype 取值为1、2、3定义了三种波形类型,amplitude_scale,period_scale取值为1-10内的int形,表示对波形的缩放因子,例如amplitude_scale=1表示幅度最大,2则缩小一半,以此类推。
下图是波形生成器的DAC生成波形的部分:
 
下面简单演示一下,板子上电默认输出锯齿波
我们输入1输出锯齿波,然后按n使用自定义参数,输入2、2即可得到幅度和周期缩放后的锯齿波
 
输入2,再按y,得到默认参数的方波
 
输入3,再按y,得到默认参数的为正弦波
 
下面是演示视频:
波形发生器演示

 
 
 
 
工程代码请见后续的汇总贴

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表