从WIN10开始,系统自带的计算器增加了绘图功能,
这个非常方便,写程序前先用计算器模拟一下,然后再编写程序。
我用的是STM32G473,带3路DA输出。利用DMA+定时器很方便的就生成了三相正弦波。
//DA缓冲变更,幅值变更时调用
void DaBufferChange(void){
for(int j=0;j<3;j++){
for(int i=0;i<DA_BF_MAX;i++){
double temp=sin((double)i*(2.0*PI/(double)DA_BF_MAX)+(2.0*PI/3.0)*(double)j)*OutLevel;
temp+=10.0; //将+-10V转换为0-20V
temp*=(4095.0/20.0); //将电压值转为DA值
DaBuffer[j][i]=temp;
}
}
}