到手了一块某夕夕上一百三入手的STM32F407VE的开发板,一个字,香!把玩时发现了DAC这个看起来就很有意思的功能,软件输出了正弦波三角波之后突然想起了示波器的XY模式,刚好这个芯片有一个DAC两路通道,于是便折腾了一下用XY模式显示图形,可以显示图形了要播放视频也就没什么难度了。特此记录分享
简单来说,示波器XY模式就是通道一的电压为X轴,通道二的电压为Y轴,在两个通道确定的一个点上显示,两通道快速扫描就可以画点成线从而显示一些简单图形,DAC可以把坐标数据转换成电压值给示波器,那么我们只要把图形的黑白像素转换为坐标然后让单片机不断用DAC输出坐标,示波器画点成线就显示出图形了
所以示波器显示图形的重难点其实是软件,如何将图形的边缘转换为坐标值让STM32去输出,只需要有那么一个坐标数组,STM32不断地把数组内容输出到DAC寄存器即可。这里就要用到前几天学习的OPENCV知识了,首先考虑最简单的黑白图片,只要将黑线也就是色值为0的像素点坐标输出为C语言数组的格式然后复制到keil里就行了。然而很多图片不是纯黑白的,可能存在灰度,我们就需要先把灰度图经过边缘检测变成黑白单色图再进行上一步操作。代码如下,写得有点复杂大概只能我自己看得懂如果要用建议安装好OPENCV后直接CV
import cv2
MAX_VALUE = 4000
MIN_VALUE = 0
VIDEO = 0
if VIDEO:
fil = open('output.h','w')
def pic2xy(img):
width = img.shape[1]
heigth = img.shape[0]
cv2.imshow('vid', i

博主分享了如何使用STM32F407VE开发板通过DAC功能在示波器的XY模式下显示图形的过程。通过OpenCV处理图像,将像素坐标转换为电压值,然后由STM32不断输出到DAC,实现示波器上的动态图形显示。代码示例包括了图像到坐标数组的转换和STM32的DAC驱动程序。
最低0.47元/天 解锁文章
146

被折叠的 条评论
为什么被折叠?



