F280049C內部包含兩個12-bit的DAC內核DACa、DACb,可以產生多種波形,比如正弦波、方波、鋸齒波等。可選內部參考源1.65V或2.5V、外部參考源,輸出增益可編程x1、x2。DAC內部框圖如下所示:
(1)建立工程
F280049C工程的建立請參考這篇博客:
https://blog.csdn.net/fanxianyan1993/article/details/88090308
(2)DAC外設庫函數介紹
TI爲F280049C DSP編寫了較多的庫函數,在編寫外設驅動程序時可直接調用其API函數,方便開發。F280049C的DAC部分的庫函數如下所示:(其中 base 爲DAC外設的基地址)
(1)uint16_t DAC_getRevision (uint32_t base);
獲取DAC的版本號。
(2)void DAC_setReferenceVoltage (uint32_t base, DAC_ReferenceVoltage source)
設置DAC的參考源
宏:DAC_REF_VDAC (使用DAC輸出作爲參考源)
DAC_REF_ADC_VREFHI (使用內部參考源或外部參考源)
(3)void DAC_setGainMode (uint32_t base, DAC_GainMode mode)
設置DAC輸出的增益模式
宏:DAC_GAIN_ONE (輸出電壓x1)
DAC_GAIN_TWO (輸出電壓x2)
(4)void DAC_setLoadMode (uint32_t base, DAC_LoadMode mode)
設置ADC Value的裝載模式
宏:DAC_LOAD_SYSCLK (在下一個時鐘週期裝載)
DAC_LOAD_PWMSYNC (在下一個PWM同步信號時裝載)
(5)void DAC_setPWMSyncSignal (uint32_t base, uint16_t signal)
設置PWM的同步信號
(6)uint16_t DAC_getActiveValue (uint32_t base)
獲取DAC的Value值
(7)void DAC_setShadowValue (uint32_t base, uint16_t value)
設置DAC的Value值(範圍0~4095)
(8)uint16_t DAC_getShadowValue (uint32_t base)
獲取DAC的Value值
(9)void DAC_enableOutput (uint32_t base)
DAC輸出使能
(10)void DAC_disableOutput (uint32_t base)
DAC輸出失能
(11)void DAC_setOffsetTrim (uint32_t base, int16_t offset)
設置DAC的偏置
(12)int16_t DAC_getOffsetTrim (uint32_t base)
獲取DAC的偏置
(13)void DAC_lockRegister (uint32_t base, uint16_t reg)
設置DAC寄存器上鎖
宏:DAC_LOCK_CONTROL (控制寄存器上鎖)
DAC_LOCK_SHADOW(影子寄存器上鎖)
DAC_LOCK_OUTPUT(輸出寄存器上鎖)
(14)bool DAC_isRegisterLocked (uint32_t base, uint16_t reg)
判斷DAC寄存器是否上鎖
(15)DAC_tuneOffsetTrim (uint32_t base, float32_t referenceVoltage)
DAC微調偏置
(3)DAC外設的配置
DAC的配置步驟如下:
- 設置DAC的參考源
- 設置輸出增益模式
- 配置DAC Value裝載模式
- DAC使能輸出
- 設置DAC Value的值
DAC的配置程序如下:
void configureDAC()
{
ASysCtl_setAnalogReferenceInternal(ASYSCTL_VREFHIA);
ASysCtl_setAnalogReference2P5(ASYSCTL_VREFHIA);
DAC_setReferenceVoltage(DACA_BASE,DAC_REF_ADC_VREFHI);
DAC_enableOutput(DACA_BASE);
DAC_setGainMode(DACA_BASE,DAC_GAIN_ONE);
DAC_setLoadMode(DACA_BASE,DAC_LOAD_SYSCLK);
DAC_setShadowValue(DACA_BASE,256);
DEVICE_DELAY_US(10);
}
(4)DAC外設的配置
F280049C的DAC例程文件如下,需要的可以自行下載。大家有任何疑問都可以給我留言,我會在第一時間給大家回覆的哈。
https://download.csdn.net/download/fanxianyan1993/11020308
提問方式:有啥不懂的可以隨時向我提問哈,掃描下方二維碼我會在第一時間給大家回覆的哈,謝謝。