164 lines
3.3 KiB
C
Raw Normal View History

2021-07-28 13:15:22 +08:00
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "key.h"
#include "LCD.h"
#include "Dis_Picture.h"
#include "Text.h"
#include "GBK_LibDrive.h"
#include "adc.h"
#include "dac.h"
/**********************************************************************/
//DAC ʵ<><CAB5>
//STM32H7<48><37><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>-HAL<41><EFBFBD><E2BAAF><EFBFBD>
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
/*********************************************************************/
u16 adcx;
float temp;
u8 t=0;
u16 dacval=0;
u8 key;
u8 tbuf[32];
int main(void)
{
Cache_Enable(); //<2F><><EFBFBD><EFBFBD>L1-Cache
HAL_Init(); //<2F><>ʼ<EFBFBD><CABC>HAL<41><4C>
Stm32_Clock_Init(160,5,2,4); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,400Mhz
delay_init(400); //<2F><>ʱ<EFBFBD><CAB1>ʼ<EFBFBD><CABC>
uart_init(115200); //<2F><><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC>
LED_Init(); //<2F><>ʼ<EFBFBD><CABC>LEDʱ<44><CAB1>
KEY_Init();
LCD_Init(); //<2F><>ʼ<EFBFBD><CABC>2.0<EFBFBD><EFBFBD> 240x320 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LCD<43><44>ʾ
GBK_Lib_Init(); //Ӳ<><D3B2>GBK<42>ֿ<EFBFBD><D6BF><EFBFBD>ʼ<EFBFBD><CABC>--(<28><><EFBFBD><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B1BE><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
LCD_Clear(WHITE); //<2F><><EFBFBD><EFBFBD>
Draw_Font16B(16,16,RED, " STM32H7 DAC ");
Draw_Font16B(16,32,BLUE," Ƕ<><C7B6>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ");
Draw_Font16B(16,48,BLUE,"mcudev.taobao.com");
Draw_Font16B(16,70,BLUE,"K1: DAC+ K2: DAC-");
MY_ADC1_Init(); //<2F><>ʼ<EFBFBD><CABC>ADC1
DAC1_Init(); //<2F><>ʼ<EFBFBD><CABC>DAC1
Draw_Font16B(16,100,RED, "DAC VAL(PA5):");
Draw_Font16B(16,120,RED, "DAC VOL(PA5):0.000V");
Draw_Font16B(16,140,RED, "ADC VOL(PC0):0.000V");
HAL_DAC_SetValue(&DAC1_Handler,DAC_CHANNEL_2,DAC_ALIGN_12B_R,0);//<2F><>ʼֵΪ0
while(1)
{
t++;
key=KEY_Scan(0);
if(key==KEY1_PRES)
{
if(dacval<4000)dacval+=200;
HAL_DAC_SetValue(&DAC1_Handler,DAC_CHANNEL_2,DAC_ALIGN_12B_R,dacval);//<2F><><EFBFBD><EFBFBD>DACֵ
}
else if(key==KEY2_PRES)
{
if(dacval>200)dacval-=200;
else dacval=0;
HAL_DAC_SetValue(&DAC1_Handler,DAC_CHANNEL_2,DAC_ALIGN_12B_R,dacval);//<2F><><EFBFBD><EFBFBD>DACֵ
}
if(t==10||key==KEY1_PRES||key==KEY2_PRES) //KEY1/KEY2<59><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>߶<EFBFBD>ʱʱ<CAB1><EFBFBD><E4B5BD>
{
adcx=HAL_DAC_GetValue(&DAC1_Handler,DAC_CHANNEL_2);//<2F><>ȡǰ<C8A1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DAC<41><43>ֵ
sprintf((char*)tbuf,"DAC VAL(PA5): 0x%4X",adcx); //<2F><>ʾDAC<41>Ĵ<EFBFBD><C4B4><EFBFBD>ֵ
Draw_Font16B(16,100,RED,tbuf); //<2F><>ʾDAC<41>Ĵ<EFBFBD><C4B4><EFBFBD>ֵ
temp=(float)adcx*(3.3/4096); //<2F>õ<EFBFBD>DAC<41><43>ѹֵ
sprintf((char*)tbuf,"DAC VOL(PA5): %5.3f ",temp); //<2F><>ʾ<EFBFBD><CABE>ѹֵ
Draw_Font16B(16,120,RED,tbuf); //<2F><>ʾ<EFBFBD><CABE>ѹֵ
adcx=Get_Adc_Average(ADC1_Handler,ADC_CHANNEL_10,20);//<2F><>ȡͨ<C8A1><CDA8>10<31><30>ת<EFBFBD><D7AA>ֵ<EFBFBD><D6B5>20<32><30>ȡƽ<C8A1><C6BD> PC0<43><30><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>ӦADC1<43><31>CH10ͨ<30><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD>
temp=(float)adcx*(3.3/65536); //<2F>õ<EFBFBD>ADC<44><43>ѹֵ
sprintf((char*)tbuf,"ADC VOL(PC0): %5.3f ",temp); //<2F><>ʾ<EFBFBD><CABE>ѹֵ
Draw_Font16B(16,140,RED,tbuf); //<2F><>ʾ<EFBFBD><CABE>ѹֵ
LED2_Toggle;
t=0;
}
delay_ms(10);
}
}
/**********************************************************************/
//DAC ʵ<><CAB5>
//STM32H7<48><37><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>-HAL<41><EFBFBD><E2BAAF><EFBFBD>
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
/*********************************************************************/