资深版主
- 积分
- 4306
- 金钱
- 4306
- 注册时间
- 2018-6-30
- 在线时间
- 808 小时
|
本帖最后由 1208 于 2019-3-7 18:20 编辑
1)要将dac里面的PA4对应的引脚要改PA5
2)dac里面和主函数通道一对应改为通道二
如:adcx=DAC_GetDataOutputValue(DAC_Channel_2);//读取前面设置DAC的值
3)主函数里面PA1通道不用改变
adcx=Get_Adc_Average(ADC_Channel_1,10); //得到ADC转换值
4)因为是PA4改成PA5
所以PA5要用杜邦线连接ADC(PA1),而不能像跳线帽一样连接ADC和DAC
[mw_shl_code=applescript,true] DAC_SetChannel2Data(DAC_Align_12b_R, 0);//初始值为0
while(1)
{
t++;
key=KEY_Scan(0);
if(key==WKUP_PRES)
{
if(dacval<4000)dacval+=200;
DAC_SetChannel2Data(DAC_Align_12b_R, dacval);//设置DAC值
}else if(key==KEY1_PRES)
{
if(dacval>200)dacval-=200;
else dacval=0;
DAC_SetChannel2Data(DAC_Align_12b_R, dacval);//设置DAC值
// DAC_SetChannel2Data(DAC_Align_8b_R, 0);//设置DAC值
// DAC_SetChannel2Data(DAC_Align_12b_R, dacval);//设置DAC值
}
if(t==10||key==KEY2_PRES||key==WKUP_PRES) //WKUP/KEY1按下了,或者定时时间到了
{
adcx=DAC_GetDataOutputValue(DAC_Channel_2);//读取前面设置DAC的值
LCD_ShowxNum(124,150,adcx,4,16,0); //显示DAC寄存器值
temp=(float)adcx*(3.3/4096); //得到DAC电压值
adcx=temp;
LCD_ShowxNum(124,170,temp,1,16,0); //显示电压值整数部分
temp-=adcx;
temp*=1000;
LCD_ShowxNum(140,170,temp,3,16,0X80); //显示电压值的小数部分
adcx=Get_Adc_Average(ADC_Channel_1,10); //得到ADC转换值(重点不能改)
temp=(float)adcx*(3.3/4096); //得到ADC电压值
adcx=temp;
LCD_ShowxNum(124,190,temp,1,16,0); //显示电压值整数部分
temp-=adcx;
temp*=1000;
LCD_ShowxNum(140,190,temp,3,16,0X80); //显示电压值的小数部分
LED0=!LED0;
t=0;
}
delay_ms(10);
}
}[/mw_shl_code]
|
|