[应用相关] STM32-波形采集、存储与回放系统

[复制链接]
 楼主| Mozarts 发表于 2016-11-9 20:18 | 显示全部楼层 |阅读模式
自己是一个近学习STM32不到3个月的菜鸟一个而已,C语言基础也学的很不扎实,做作品所涉及的基本模块,例如ADC采集、DMA传输、FLASH掉电保护、DAC输出、通用定时器和高级控制定时器等的运用------自己一无所知,仅仅在学习单片机的时候看了些AD和DA的相关资料和一些简单的程序,仅此而已。
硬件基础:开发板为无线电协会所使用的创新开发板,编程环境为KELL4,下载工具为J-LINK或利用串口线下载。
不过到寒假结束时,单通道以做的很稳定,双通道程序当时写了,但最后没在硬件上验证,下面把自己这段时间内学习的各模块和做这个作品的思路及设计方案等分享给大家,以便大家借助这个作品来加强对STM32的几个常用模块的学习与运用!
程序调试过程中总是问题层出不穷!当然这也是很好的学习平台!

问题1:
//2月13日     程序出现的问题: 前提条件:信号发生器的幅值为2,频率为1KHz,直流偏置为1-2v. ADC_channel_11(连接DS18B20)
ADC采集的数据不是太规则,所显示的波形总是在上升沿处是突然出现一个最低值(零),但是偏置加到1.5-2v时,输出波形恢复正常。
此外,当换到ADC_Channel_12时偏置降到1v时,现象正常。
究其原因:应该是开发板上的ADC_channel_11(PC1)连接DS18B20上,ADC采集时和18B20进行了通信或其他原因。
解决办法:ADC采集通道换到ADC_Channel_12。
问题2:
ADC采集时,所加信号的偏置电压还需要比正常的高一些,否则会出现有一段时间显示的数据一直为零。也就是ADC采集0-2V的信号时靠近0的部分一直显示的是0,但是后来不知道为什么后来有恢复正常了?(正常时应该能够对0-2V之间的信号完美的采集一个周期)
Listate 发表于 2016-11-9 20:27 | 显示全部楼层
5110液晶界面上显示的频率值本应该是一个固定不变的值吧
feiqi1 发表于 2016-11-9 20:28 | 显示全部楼层
不错啊,学习3个月就可以做出东西出来了。
androidbus 发表于 2016-11-9 20:34 | 显示全部楼层
A、B通道结合起来把发挥部分的功能实现了吗?
litengg 发表于 2016-11-9 20:34 | 显示全部楼层
学习了,楼主 确实是蛮有天赋的呀
qiangweii 发表于 2016-11-9 20:40 | 显示全部楼层
楼主使用编程环境为KELL4,下载工具为J-LINK或利用串口线下载。
shashaa 发表于 2016-11-9 20:41 | 显示全部楼层
看了看,楼主你做这个是为了参加什么比赛吗?
 楼主| Mozarts 发表于 2016-11-9 20:50 | 显示全部楼层
Listate 发表于 2016-11-9 20:27
5110液晶界面上显示的频率值本应该是一个固定不变的值吧

是啊,但不知为什么它却是一个在1KHz左右波动的值?
 楼主| Mozarts 发表于 2016-11-9 20:51 | 显示全部楼层
feiqi1 发表于 2016-11-9 20:28
不错啊,学习3个月就可以做出东西出来了。

感觉不是那么容易上手呢
 楼主| Mozarts 发表于 2016-11-9 20:52 | 显示全部楼层
androidbus 发表于 2016-11-9 20:34
A、B通道结合起来把发挥部分的功能实现了吗?

还没有,紧缺信号发生器和示波器
 楼主| Mozarts 发表于 2016-11-9 20:52 | 显示全部楼层
qiangweii 发表于 2016-11-9 20:40
楼主使用编程环境为KELL4,下载工具为J-LINK或利用串口线下载。

是的,下载工具为J-LINK或利用串口线下载。
 楼主| Mozarts 发表于 2016-11-9 20:53 | 显示全部楼层
shashaa 发表于 2016-11-9 20:41
看了看,楼主你做这个是为了参加什么比赛吗?

全国大学生电子设计竞赛专科组的题目呀
bbapple 发表于 2016-11-9 20:54 | 显示全部楼层
谢谢楼主分享,先做个标记!!
xia00 发表于 2016-11-9 21:07 | 显示全部楼层
正直毕设!!十分感谢!!正要用到stm32信号采集和存储!
robter 发表于 2016-11-10 08:11 | 显示全部楼层
不错不错,楼主很聪明
yu515301489 发表于 2016-11-10 08:21 | 显示全部楼层
赞一个
123654789 发表于 2016-11-10 13:59 | 显示全部楼层
ADC_channel_11(连接DS18B20)
究其原因:应该是开发板上的ADC_channel_11(PC1)连接DS18B20上,ADC采集时和18B20进行了通信或其他原因。
解决办法:ADC采集通道换到ADC_Channel_12。

楼主真笨蛋

读写DS18B20需要一个特殊 1-wire (单总线协议)来读写。 用数字信号来读写啊!!明白吗???

不是用AD转换器来读写DS18B20

Stannis 发表于 2016-11-12 20:35 | 显示全部楼层
但是后来不知道为什么后来有恢复正常了?

怎么正常的,什么原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

1320

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部