你都没有给出基准电压。大家也看不出来。
简单的方法,你先测出现在的正弦信号的峰值。
然后把
vu16 Sine16bit[32] = { 0x7FFF,0x98F8,0xB0FB,0xC71C,
0xDA81,0xEA6C,0xF640,0xFD89,
0xFFFE,0xFD89,0xF640,0xEA6C,
0xDA81,0xC71C,0xB0FB,0x98F8,
0x7FFF,0x6706,0x4F03,0x38E2,
0x257D,0x1592,0x09BE,0x0275,
0x0000,0x0275,0x09BE,0x1592,
0x257D,0x38E2,0x4F03,0x6706};
例如你现在的峰值是2V.就 把里面的所有数转除以2就可以了。如果峰值是3V就除3.
这个程序是ST官方自带的,是双DAC模式,产生两个通道的正弦波,进行那个运算是为使双DAC的12位右对齐数据保持寄存器(DAC_DHR12RD) 中的DAC通道1和通道2都能得取到值
正弦波用sin函数来产生数据,放大一定倍数(比如2047)后再加上偏移(比如2047)后取整数作为即可,一般根据精度可选40点或80点的。或者网上直接下载现成的正弦数据表也可以啊!
三角波更简单,y=kx。在输出一个周期波形的数组中数据从0开始以等差方式递增到某个值,然后再以等差的方式减少回到0.
正弦波用sin函数来产生数据,放大一定倍数(比如2047)后再加上偏移后取整数作为即可,一般根据精度可选40点或80点的!
三角波额y=kx。在输出一个周期波形的数组中数据从0开始以等差方式递增到某个值,然后再以等差的方式减少回到0.
方波的话……看看方波的定义,
正弦波是频率成分最为单一的一种信号,因这种信号的波形是数学上的正弦曲线而得名。任何复杂信号——例如音乐信号,都可以看成由许许多多频率不同、大小不等的正弦波复合而成。
三角波(Triangular Wave)也称锯齿波,是指主要用在CRT作显示器件的扫描电路中的波形。如示波器,显像管,显示器等.CRT是由许多点组成的.要形成光栅就要有电子束轰击这些发光点.扫描电路分水平和垂直扫描两种.可以一行或一帧的对CRT进行扫描.电子束从第一行或帧的一端开始扫到另一端,马上返回扫第二行或第二帧.......三角波的特点是电压渐渐增大突然降到零.正好适合用于扫描电路中.
方波是一种非正弦曲线的波形,通常会与电子和讯号处理时出现。理想方波只有“高”和“低”这两个值。电流或电压的波形为矩形的信号即为矩形波信号,高电平在一个波形周期内占有的时间比值称为占空比,占空比为50%的矩形波称之为方波。方波有低电平为零与为负之分,必要时,可加以说明“低电平为零”、“低电平为负”。
一个stm32就完全可能了,如果不需要放大信号
记录一个正弦的数组
用stm32的dac、pwm输出数组,就是你想要的正弦波。频率可以通过调定时器pwm输出调节
我知道一个示波器的制作实例,原创完整版_数字示波器_FPGA_STM32F4(包括程序和原理图和PCB),希望有用
本文标签:stm32用DA模拟正弦波