8.8、ARM接口編程 -- PWM

在這裏插入圖片描述

  • PWM 脈寬調製器:
    方波:佔空比:有效電平佔整個週期的比值。週期和頻率:

使用PWM,輸出50HZ 波形
蜂鳴器 GPD0_0 PWM0
F = 100Mhz

1、 配置PWM0
TCFG0:[7:0] = 預分頻寄存器 0-255 0xff
TCFG1:[3:0] = 固定分頻 1 2 4 8 16 0x4

TCON:
[4] = 0 不使能死區
[3] = 1 使能自動重載
[2] = 1 打開輸出使能
[1] = 1 手動更新 tcmpb tcntb
[0] = 啓停開關 1 啓動 0 關閉

TCNTB0 重載寄存器 [31:0] 重載值 24414
TCMPB0 比較寄存器 [31:0] 比較值 500

TCNTO0 窗口寄存器 (只讀)用於讀取減法計數器中的值
TINT_CSTAT 中斷相關寄存器

50hz = 100M/(y+1)/固定分頻/C
256 16 24414

p = 1M/c
c = 1M/p
z = b/c
b = z * c

2、GPIO配置: GPD0_0
GPD0CON [3:0] = 0x2 使能管腳複用爲pwm輸出功能
在這裏插入圖片描述
每次修改PWM參數的時候,先STOP_PWM,修改了之後再start_pwm。

實現
1、wdt 中斷法 實現 sleep msleep
2、pwm 驅動
3、蜂鳴器唱歌

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章