OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7182|回复: 10

大牛们,求助。 求完整版 基于STM32F103做信号发生器的完整代码。

[复制链接]

1

主题

5

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2015-12-29
在线时间
2 小时
发表于 2015-12-29 10:31:26 | 显示全部楼层 |阅读模式
1金钱
要求:1.  产生 正弦波或者方波等
2.频率,幅度可调
另外说明,我的板子是STM32F103 mini板,求哪位大牛给我一个完整的代码。网上那么多代码看的 我头都晕了

最佳答案

查看完整内容[请看2#楼]

信号发生器,如果不考虑现成器件(有现成的波形发生器),而是用CPU,那么主要部分是DA。 用CPU自身的DA,12位,对毕业设计应当足够了。 任何波形都可以离散化为一系列“点”,按一定时间间隔逐点送给DA输出,就行了。 把波形离散为一系列的点基本是数学问题,不难。 先搞清DA的原理和操作。 然后,如果要求低点,用定时器来完成“送点”的工作;如果要求高,就用DMA。 要求再高,就需要人机接口、显示之类,名堂很多。 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11555
金钱
11555
注册时间
2014-4-1
在线时间
1317 小时
发表于 2015-12-29 10:31:27 | 显示全部楼层

信号发生器,如果不考虑现成器件(有现成的波形发生器),而是用CPU,那么主要部分是DA。
用CPU自身的DA,12位,对毕业设计应当足够了。
任何波形都可以离散化为一系列“点”,按一定时间间隔逐点送给DA输出,就行了。

把波形离散为一系列的点基本是数学问题,不难。
先搞清DA的原理和操作。
然后,如果要求低点,用定时器来完成“送点”的工作;如果要求高,就用DMA。
要求再高,就需要人机接口、显示之类,名堂很多。

先做基本吧。

回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11555
金钱
11555
注册时间
2014-4-1
在线时间
1317 小时
发表于 2015-12-29 10:33:46 | 显示全部楼层

这要求挺高,不现实。
不需要硬件?

回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11555
金钱
11555
注册时间
2014-4-1
在线时间
1317 小时
发表于 2015-12-29 10:34:18 | 显示全部楼层
本帖最后由 xuande 于 2015-12-29 10:55 编辑


(怎么又发重复了。。。网页刷新慢,手太快。)

回复

使用道具 举报

13

主题

276

帖子

0

精华

高级会员

Rank: 4

积分
697
金钱
697
注册时间
2014-6-20
在线时间
146 小时
发表于 2015-12-29 10:34:38 | 显示全部楼层
本帖最后由 313668972 于 2015-12-29 10:36 编辑

正弦波使用DMA加DAC实现,方波可以用PWM实现,如果想方波幅度可调,那就都用DAC来实现,功能并不是太难啊
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2015-12-29
在线时间
2 小时
 楼主| 发表于 2015-12-29 10:39:54 | 显示全部楼层
313668972 发表于 2015-12-29 10:34
正弦波使用DMA加DAC实现,方波可以用PWM实现,如果想方波幅度可调,那就都用DAC来实现,功能并不是太难啊

有完整的代码么,我是一个新手,不是太懂,毕业设计要用
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2015-12-29
在线时间
2 小时
 楼主| 发表于 2015-12-29 10:40:48 | 显示全部楼层
xuande 发表于 2015-12-29 10:34
这要求挺高,不现实。
不需要硬件?

其实要求没那么高的,简单的信号发生器就好,幅度可调就行
回复

使用道具 举报

13

主题

276

帖子

0

精华

高级会员

Rank: 4

积分
697
金钱
697
注册时间
2014-6-20
在线时间
146 小时
发表于 2015-12-29 10:41:39 | 显示全部楼层
庸碌的菜鸟 发表于 2015-12-29 10:39
有完整的代码么,我是一个新手,不是太懂,毕业设计要用

确实没有代码,要实现,就用了两个硬件,
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2015-12-29
在线时间
2 小时
 楼主| 发表于 2015-12-29 10:46:38 | 显示全部楼层
313668972 发表于 2015-12-29 10:41
确实没有代码,要实现,就用了两个硬件,

网上没有完整代码,我不能烧程序看看实验结果。。。挺难的
回复

使用道具 举报

13

主题

276

帖子

0

精华

高级会员

Rank: 4

积分
697
金钱
697
注册时间
2014-6-20
在线时间
146 小时
发表于 2015-12-29 11:55:54 | 显示全部楼层
庸碌的菜鸟 发表于 2015-12-29 10:46
网上没有完整代码,我不能烧程序看看实验结果。。。挺难的

自己测试啊,测试了,写出来了,自己就进步了
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2015-12-29
在线时间
2 小时
 楼主| 发表于 2015-12-29 12:38:52 | 显示全部楼层
xuande 发表于 2015-12-29 11:13
信号发生器,如果不考虑现成器件(有现成的波形发生器),而是用CPU,那么主要部分是DA。
用CPU自身的DA ...

谢谢你的帮助了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 18:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表