//源檔案
void DACPhyConfig()
{
RCC->APB1ENR |= 1<<29; //使能 DAC 時鐘
RCC->AHB1ENR |= 1<<0; //使能 PORTA 時鐘
//PA4 輸入模式、下拉、高速
GPIOA->MODER |= (3<<4*2); //輸入模式
GPIOA->PUPDR |= (3<<4*2); //下拉
GPIOA->OSPEEDR |= (1<<4*2); //高速
DAC->CR |= 1<<0; //使能 DAC1
DAC->CR |= 1<<1; //DAC1 輸出快取不使能 BOFF1=1
DAC->CR |= 0<<2; //不使用觸發功能 TEN1=0
DAC->CR |= 0<<3; //DAC TIM6 TRGO,不過要 TEN1=1 才行
DAC->CR |= 0<<6; //不使用波形發生
DAC->CR |= 0<<8; //屏蔽、幅值設定
DAC->CR |= 0<<12; //DAC1 DMA 不使能
DAC->DHR12R1 = 0; //默認輸出 0
}
//設定通道 1 輸出電壓
//vol:0~3300,代表 0~3.3V
void Dac1_Set_Vol(uint16_t vol)
{
double temp = vol;
temp /= 1000;
temp = temp*4096/3.3;
DAC->DHR12R1 = temp;
}
//頭檔案
/*****************************dac**************************************/
void DACPhyConfig(void);
void Dac1_Set_Vol(uint16_t vol);
/**********************************************************************/
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/536172.html
標籤:其他
