📄 dec2812_da.c
字号:
#include "string.h"
#include "math.h"
#include "DSP28_Device.h"
#include "DEC2812_DA.h"
/****************************************************************************
* 函数: void da_setup(int tongdao,int kind,int freq,int value)
* 目的: 设置DA转换
* 输入:
tongdao 通道
kind da转换波形方式: 0:正弦波
* 1: 方波
* 2:三角波
* 3:直流
freq 波形频率
value 幅值
* 输出: 无
* 参数: dac7724cs: dac7724使能
loadcs: dac7724转换使能
timer_sum: 定时器计数次数 long
angle: 角度
angle_diff: 角度差
da_kind: da种类
da_value: da幅值
***************************************************************************/
void da_setup(int tongdao)
{
int i;
if(tongdao >= 0&tongdao < 4) /* 通道范围 */
{
tongdao_flag[tongdao] = 1; /* 通道设置标志 */
for(i = 0; i < 1023; i++)
{
da_value = a[ConvCount];
da_value = da_value / DA_SETVALUE * 2048; /* 将幅值转化成系统可识别的数值 */
switch(tongdao)
{
#if DAC7724_0_ENABLE
case 0:
xishu1[i] = da_value + 2048;
break;
#endif
#if DAC7724_1_ENABLE
case 1:
xishu2[i] = da_value + 2048;
break;
#endif
#if DAC7724_2_ENABLE
case 2:
xishu3[i] = da_value + 2048;
break;
#endif
#if DAC7724_3_ENABLE
case 3:
xishu4[i] = da_value + 2048;
break;
#endif
default:
break;
}
}
}
}
/****************************************************************************
* 函数: void da_end(int tongdao)
* 目的: 关闭设定的DA通道转换
* 输入: tondao 通道
* 输出: 无
* 参数: 无
***************************************************************************/
void da_end(int tongdao)
{
tongdao_flag[tongdao] = 0;
#if DAC7724_0_ENABLE
if(tongdao == 1)
{
*DA_PORT0 = 2048;
}
#endif
#if DAC7724_1_ENABLE
if(tongdao == 2)
{
*DA_PORT1 = 2048;
}
#endif
#if DAC7724_2_ENABLE
if(tongdao == 3)
{
*DA_PORT2 = 2048;
}
#endif
#if DAC7724_3_ENABLE
if(tongdao == 4)
{
*DA_PORT3 = 2048;
}
#endif
}
/****************************************************************************
* 函数: void da_run(void)
* 目的: 设置DA转换
* 输入: 无
* 输出: 无
* 参数: 无
***************************************************************************/
extern void da_run(void)
{
*DA_OUT = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -