利用STM32的DAC 输出模拟出正弦波 可应用在医疗器械电刺激输出 以及逆变 SPWM 控制 其输出DAC为标准正弦波
输出正弦波,需要好几个外设配合:Timer、DAC、DMA。TImer用来设置正弦波的频率的;DAC顾名思义将数字量转换成模拟量,在这里就是转化成电压信号;DMA直接控制DAC输出,而不用麻烦芯片内核。利用STM32的DAC 输出模拟出正弦波 可应用在医疗器械电刺激输出 以及逆变 SPWM 控制 其输出DAC为标准正弦波 可通过修改程序来控制产生波形的幅值 频率 一、如何产生正弦波? 本文采用查表法的方式生成一个数值范围为[0,4096]的正弦波数组,通过定时器更新中断不断以DAC进行输出,从而产生一个正弦波,并且通过改变定时器的预装载值(ARR)或者预分频系数(psc),改变进入中断的时间进而改变正弦波频率。 二、生成采样数值函数 代码如下: void out_sine(void) { double index = 250;//250个数据 float pi = 3.141592; int fori = 0; float outv = 0; for(;fori <index;fori++) {