最近做了一個試驗。這次了lstm8l152c8t6的dac到底能跑多快?
下面是dac帶buff的代碼。帶buff可以提高io的驅動能力。感覺可以提高10-20%的峯值輸出電壓。但是buff最大,最小輸出電壓無法做到軌到軌(電源和地)。IAR調試狀態,我用示波器實測爲117.6khz。
void CLK_set(void)
{
CLK_DeInit();
CLK_HSEConfig(CLK_HSE_OFF);
//啓動LSI時鐘源
CLK_LSICmd(ENABLE);
//使能時鐘切換
CLK_SYSCLKSourceSwitchCmd(ENABLE);
//選擇內部低速時鐘作爲時鐘源
CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);
//設置系統時鐘分頻
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
//等待時鐘穩定
while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSI)
{}
}
void DAC_ConfigBuff(void)
{
CLK_PeripheralClockConfig(CLK_Peripheral_DAC, ENABLE);
DAC_DeInit();
DAC_Cmd(DAC_Channel_1, ENABLE);
DAC_SetChannel1Data(DAC_Align_12b_R,2048);
}
void main( void )
{
CLK_set();//內部時鐘,全速
DAC_ConfigBuff();
while(1)
{
DAC_SetChannel1Data(DAC_Align_12b_R, 4095);
DAC_SoftwareTriggerCmd(DAC_Channel_1, ENABLE);
DAC_SetChannel1Data(DAC_Align_12b_R,0);
DAC_SoftwareTriggerCmd(DAC_Channel_1, ENABLE);
}