RTT裝置與驅動之PWM

2022-06-17 17:48:11 字數 891 閱讀 6504

這裡將pwm當成乙個裝置:pwm簡介

上圖是乙個簡單的 pwm 原理示意圖,假定定時器工作模式為向上計數,當計數值小於閾值時,則輸出一種電平狀態,比如高電平,當計數值大於閾值時則輸出相反的電平狀態,比如低電平。當計數值達到最大值是,計數器從0開始重新計數,又回到最初的電平狀態。高電平持續時間(脈衝寬度)和週期時間的比值就是占空比,範圍為0~100%。上圖高電平的持續時間剛好是週期時間的一半,所以占空比為50%。

相關操作

函式描述

rt_device_t rt_device_find(const char* name);

根據 pwm 裝置名稱查詢裝置獲取裝置控制代碼

rt_err_t rt_pwm_set(struct rt_device_pwm *device, int channel, rt_uint32_t period, rt_uint32_t pulse);

置 pwm 週期和脈衝寬度

rt_err_t rt_pwm_enable(struct rt_device_pwm *device, int channel);

使能 pwm 裝置

rt_err_t rt_pwm_disable(struct rt_device_pwm *device, int channel);

關閉 pwm 裝置

pwm_set pwm1 1 500000 5000

finsh 命令

pwm_enable pwm1 1

pwm_disable pwm1 1

RTT裝置與驅動之硬體定時器

硬體定時器可以對外部時鐘進行計數,利用內部時鐘進行定時。函式描述 rt device t rt device find const char name 查詢定時器裝置 rt err t rt device open rt device t dev,rt uint16 t oflags ofalgs ...

RTT學習之sensor裝置

sensor裝置的常用操作 首先查詢感測器設定獲取裝置控制代碼。rt device find 以輪詢 fifo 中斷 任意一種方式開啟感測器,中斷和fifo需要設定接收 函式 釋放乙個訊號量給接收執行緒處理。rt device open dev,rt device flag rdonly 連續讀取 ...

linux 驅動之PWM蜂鳴器驅動

table of contents 1 常用pwm函式 2 驅動程式設計例項 3 應用程式設計 4 pwm裝置樹節點配置 5 核心配置 6 測試 申請乙個pwm裝置 pwm device pwm get struct device dev,const char con id 配置pwm週期和占空比 ...