📄 dac811.c
字号:
xishu1[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_1_ENABLE
case 2:
if(i < (timer_sum[2] / 2))
{
xishu2[i] = da_value + 2048;
}
else
{
xishu2[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_2_ENABLE
case 3:
if(i < (timer_sum[3] / 2))
{
xishu3[i] = da_value + 2048;
}
else
{
xishu3[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_3_ENABLE
case 4:
if(i < (timer_sum[4] / 2))
{
xishu4[i] = da_value + 2048;
}
else
{
xishu4[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_4_ENABLE
case 5:
if(i < (timer_sum[5] / 2))
{
xishu5[i] = da_value + 2048;
}
else
{
xishu5[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_5_ENABLE
case 6:
if(i < (timer_sum[6] / 2))
{
xishu6[i] = da_value + 2048;
}
else
{
xishu6[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_6_ENABLE
case 7:
if(i < (timer_sum[6] / 2))
{
xishu7[i] = da_value + 2048;
}
else
{
xishu7[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_7_ENABLE
case 8:
if(i < (timer_sum[6] / 2))
{
xishu8[i] = da_value + 2048;
}
else
{
xishu8[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_8_ENABLE
case 9:
if(i < (timer_sum[6] / 2))
{
xishu9[i] = da_value + 2048;
}
else
{
xishu9[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_9_ENABLE
case 10:
if(i < (timer_sum[6] / 2))
{
xishu10[i] = da_value + 2048;
}
else
{
xishu10[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_10_ENABLE
case 11:
if(i < (timer_sum[6] / 2))
{
xishu11[i] = da_value + 2048;
}
else
{
xishu11[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_11_ENABLE
case 12:
if(i < (timer_sum[6] / 2))
{
xishu12[i] = da_value + 2048;
}
else
{
xishu12[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_12_ENABLE
case 13:
if(i < (timer_sum[6] / 2))
{
xishu13[i] = da_value + 2048;
}
else
{
xishu13[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_13_ENABLE
case 14:
if(i < (timer_sum[6] / 2))
{
xishu14[i] = da_value + 2048;
}
else
{
xishu14[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_14_ENABLE
case 15:
if(i < (timer_sum[6] / 2))
{
xishu15[i] = da_value + 2048;
}
else
{
xishu15[i] = 2048 - da_value;
}
break;
#endif
#ifdef DAC7724_15_ENABLE
case 16:
if(i < (timer_sum[6] / 2))
{
xishu16[i] = da_value + 2048;
}
else
{
xishu16[i] = 2048 - da_value;
}
break;
#endif
default:
break;
}
}
data_time[tongdao] = 0;
}
}
break;
case 2: /*三角波*/
if((tongdao >= 0) && (tongdao <= 16))
{
if((freq != 0) && (freq <= DA_TIMER_NUM))
{
tongdao_flag[tongdao] = 1;
timer_sum[tongdao] = DA_TIMER_NUM / freq; /*25us*/
da_value = value;
da_value = da_value / DA_SETVALUE * 2048;
da_value_high[tongdao] = da_value + 2048;
da_value_low[tongdao] = 2048 - da_value;
angle_diff = 4 * da_value /timer_sum[tongdao];
temp = 0;
for(i = 0; i < timer_sum[tongdao] / 4; i++)
{
temp = temp + angle_diff;
switch(tongdao)
{
#ifdef DAC811_ENABLE
case 0:
xishu0[i] = 2048 + temp;
if(noise == 1)
{
da_rand = rand();
da_rand = da_rand % 3;
if(da_rand == 1)
{
xishu0[i] = xishu0[i] + DA_NOISE_VALUE;
if(xishu0[i] > 4095)
{
xishu0[i] = 4095;
}
}
else if(da_rand == 2)
{
xishu0[i] = xishu0[i] - DA_NOISE_VALUE;
if(xishu0[i] < 0)
{
xishu0[i] = 0;
}
}
}
break;
#endif
#ifdef DAC7724_0_ENABLE
case 1:
xishu1[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_1_ENABLE
case 2:
xishu2[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_2_ENABLE
case 3:
xishu3[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_3_ENABLE
case 4:
xishu4[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_4_ENABLE
case 5:
xishu5[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_5_ENABLE
case 6:
xishu6[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_6_ENABLE
case 7:
xishu7[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_7_ENABLE
case 8:
xishu8[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_8_ENABLE
case 9:
xishu9[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_9_ENABLE
case 10:
xishu10[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_10_ENABLE
case 11:
xishu11[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_11_ENABLE
case 12:
xishu12[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_12_ENABLE
case 13:
xishu13[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_13_ENABLE
case 14:
xishu14[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_14_ENABLE
case 15:
xishu15[i] = 2048 + temp;
break;
#endif
#ifdef DAC7724_15_ENABLE
case 16:
xishu16[i] = 2048 + temp;
break;
#endif
default:
break;
}
}
temp = 0;
for(i = timer_sum[tongdao] / 4; i < timer_sum[tongdao] / 2; i++)
{
temp = temp + angle_diff;
switch(tongdao)
{
#ifdef DAC811_ENABLE
case 0:
xishu0[i] = da_value_high[tongdao] - temp;
if(noise == 1)
{
da_rand = rand();
da_rand = da_rand % 3;
if(da_rand == 1)
{
xishu0[i] = xishu0[i] + DA_NOISE_VALUE;
if(xishu0[i] > 4095)
{
xishu0[i] = 4095;
}
}
else if(da_rand == 2)
{
xishu0[i] = xishu0[i] - DA_NOISE_VALUE;
if(xishu0[i] < 0)
{
xishu0[i] = 0;
}
}
}
break;
#endif
#ifdef DAC7724_0_ENABLE
case 1:
xishu1[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_1_ENABLE
case 2:
xishu2[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_2_ENABLE
case 3:
xishu3[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_3_ENABLE
case 4:
xishu4[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_4_ENABLE
case 5:
xishu5[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_5_ENABLE
case 6:
xishu6[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_6_ENABLE
case 7:
xishu7[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_7_ENABLE
case 8:
xishu8[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_8_ENABLE
case 9:
xishu9[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_9_ENABLE
case 10:
xishu10[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_10_ENABLE
case 11:
xishu11[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_11_ENABLE
case 12:
xishu12[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_12_ENABLE
case 13:
xishu13[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_13_ENABLE
case 14:
xishu14[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_14_ENABLE
case 15:
xishu15[i] = da_value_high[tongdao] - temp;
break;
#endif
#ifdef DAC7724_15_ENABLE
case 16:
xishu16[i] = da_value_high[tongdao] - temp;
break;
#endif
default:
break;
}
}
temp = 0;
for(i = timer_sum[tongdao] / 2; i < timer_sum[tongdao] * 3 / 4; i++)
{
temp = temp + angle_diff;
switch(tongdao)
{
#ifdef DAC811_ENABLE
case 0:
xishu0[i] = 2048 - temp;
if(noise == 1)
{
da_rand = rand();
da_rand = da_rand % 3;
if(da_rand == 1)
{
xishu0[i] = xishu0[i] + DA_NOISE_VALUE;
if(xishu0[i] > 4095)
{
xishu0[i] = 4095;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -