簡 介: 本文給出了 MicroPython內核開發筆記:書內嵌入實驗任務 中的 DAC模塊相關 軟件用例部分內容。
關鍵詞
:MicroPython,mm32f3277,DAC
軟件用例:
這部分書稿內容包括有:
- 基礎的DAC電壓輸出實驗。
- 輸出正弦波信號。
- 書稿內位置:
在 MM32F3277 單片機中,DAC 通道有兩路輸出,對應的端口分別為:
DAC0
:PA4 DAC1
:PA5 下面測試代碼,分別在 DAC 兩個通道輸出兩個不同電壓。
from machine import DAC
dac0 = DAC(0)
dac1 = DAC(1)
print('Test DAC ...')
dac0.write_u16(0x8000)
dac1.write_u16(0x4000)
上面代碼演示了聲明兩個 DAC 通道對象,非常簡單。 通過 write_u16 函數改變 DAC 輸出電壓,輸出電壓與寫入的數值 n 之間的關系為: V o u t = n 0 x F F F F × 3.3 V V_{out} = {n \over {0xFFFF}} \times 3.3V Vout=0xFFFFn×3.3V 其中 3.3V 是單片機的模擬參考電壓。
使用數字萬用表,可以分別在 DAC0,DAC1對應的輸出管腳測量對應的電壓信號。
DAC0(PA4)
:1.654V DAC1(PA5)
:0.829V 下面代碼將會在兩個 DAC 通道產生相位相反的正弦波。
from machine import DAC
from math import *
dac0 = DAC(0)
dac1 = DAC(1)
print('Test DAC ...')
angle = [int((sin(i * pi * 2 / 100)+1.0)/2*0x6000+0x2000) for i in range(100)]
while True:
for a in angle:
dac0.write_u16(a)
dac1.write_u16(0xa000 - a)
下面是兩個 DAC 通道輸出的正弦波電壓信號。
▲ 兩個DAC通道的正弦波電壓信號
本文給出了 MicroPython內核開發筆記:書內嵌入實驗任務 中的 DAC模塊相關 軟件用例部分內容。
■ 相關文獻鏈接:
● 相關圖表鏈接: