1、软件配置
2、配置
void DAC1_Set_Vol(uint16_t vol)
{
double temp=vol;
temp/=1000;
temp=temp*4096/3.3;
HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,temp);
}
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
return ch;
}
int fgetc(FILE * f)
{
uint8_t ch = 0;
HAL_UART_Receive(&huart1,&ch, 1, 0xffff);
return ch;
}
uint16_t adcx;
float temp;
uint8_t t=0;
uint16_t dacval=0;
uint8_t key;
MX_USART1_UART_Init();
MX_DAC_Init();
MX_GPIO_Init();
while (1)
{
if( HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_4)==0)
{
if(dacval<4000)dacval+=200;
HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,dacval);
}
if(HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_3)==0)
{
if(dacval>200)
dacval-=200;
else dacval=0;
HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,dacval);
}
HAL_Delay(200);
adcx=HAL_DAC_GetValue(&hdac,DAC_CHANNEL_1);
temp=(float)adcx*(3.3/4096);
adcx=temp;
printf("int temp:%f ,",temp);
temp-=adcx;
temp*=1000;
printf("float temp:%f\n",temp);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)