1-uart.c实现重定向,记得包含stdio.h
int fputc(int ch,FILE* f)
{
uint8_t temp[1]={
ch};
{
HAL_UART_Transmit(&huart1,temp,1,2);
}
return HAL_OK;
}
2-启动DAC转换
HAL_DAC_Start(&hdac1,DAC1_CHANNEL_2);//启动DAC转换
3-编写测试函数
//如果按键1按下
if(HAL_GPIO_ReadPin(KEY1_GPIO_Port,KEY1_Pin)==GPIO_PIN_RESET)
{
HAL_Delay(100);
if(HAL_GPIO_ReadPin(KEY1_GPIO_Port,KEY1_Pin)==GPIO_PIN_RESET)
{
DACVALUE+=10;
if(DACVALUE>=255) DACVALUE=255;
HAL_DAC_SetValue(&hdac1,DAC1_CHANNEL_2,DAC_ALIGN_8B_R,DACVALUE);//电压转换
printf("KEY1 + DACVALUE:%d,Voltage:%3.3f\r\n",DACVALUE,DACVALUE*3.3/255);
}
}
//如果按键2按下
if(HAL_GPIO_ReadPin(KEY2_GPIO_Port,KEY2_Pin)==GPIO_PIN_RESET)
{
HAL_Delay(100);
if(HAL_GPIO_ReadPin(KEY2_GPIO_Port,KEY2_Pin)==GPIO_PIN_RESET)
{
DACVALUE-=10;
if(DACVALUE<=0) DACVALUE=0;
HAL_DAC_SetValue(&hdac1,DAC1_CHANNEL_2,DAC_ALIGN_8B_R,DACVALUE);//电压转换
printf("KEY2 - DACVALUE:%d,Voltage:%3.3f\r\n",DACVALUE,DACVALUE*3.3/255);
}
}