日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux下PWM應(yīng)用實現(xiàn)(pwmlinux)

linux下PWM應(yīng)用實現(xiàn)

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供穆棱網(wǎng)站建設(shè)、穆棱做網(wǎng)站、穆棱網(wǎng)站設(shè)計、穆棱網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、穆棱企業(yè)網(wǎng)站模板建站服務(wù),十載穆棱做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

Linux的Real-Time Extension(RT)提供的Pulse-Width Modulation(PWM)服務(wù)可以實現(xiàn)實時的方式控制外圍設(shè)備,例如LED燈、電機等。 PWM就是在一段時間內(nèi),控制信號電平從高值變成低值,再從低值變回高值,對這個變動的比率和高低電平的時間長短來調(diào)節(jié)。

使用PWM在Linux系統(tǒng)中的應(yīng)用,可以大致分為如下幾步:

第一步,啟動RT的信號控制,并安裝rt-pwm實用程序,它裝在“rtai-apt.tar.gz”文件中,我們還需要安裝RTAI軟件包以及其他用戶自定義內(nèi)核調(diào)試。

第二步,設(shè)置PWM硬件寄存器,以讓PWM信號可以由處理器來啟動及停止,以及調(diào)節(jié)信號的占空比,這些操作應(yīng)當通過編寫硬件驅(qū)動程序完成,通常使用ioctl函數(shù)實現(xiàn)。

第三步,創(chuàng)建PWM信號,為創(chuàng)建PWM信號,我們需要編寫pwm_create函數(shù),該函數(shù)有兩個參數(shù):最高占空比和最低占空比。

第四步,調(diào)節(jié)PWM信號,PWM信號的調(diào)節(jié)可以通過調(diào)用pwm_set函數(shù)來實現(xiàn),當調(diào)節(jié)后的占空比不同設(shè)定的最大占空比和最小占空比時,就會相應(yīng)調(diào)節(jié)PWM信號的頻率。

第五步,停止PWM信號,當我們不再需要使用PWM信號時,可以調(diào)用pwm_stop函數(shù)來停止PWM信號,釋放PWM硬件資源。

舉個例子,如果要使用PWM信號驅(qū)動LED燈,我們可以這樣:

#include

#include

//創(chuàng)建PWM信號

int pwm_create(struct pwm_INFO_t *info){

return ioctl(pwm_fd, PWM_CMD_CREATE, info);

}

//設(shè)置PWM信號

int pwm_set(struct pwm_info_t *info){

return ioctl(pwm_fd, PWM_CMD_SET, info);

}

//停止PWM信號

int pwm_stop(struct pwm_info_t *info){

return ioctl(pwm_fd, PWM_CMD_STOP, info);

}

int main(void)

{

struct pwm_info_t info;

info.max_cycles = 100; //最大占空比100

info.min_cycles = 0; //最小占空比0

info.duty_cycles = 50; //當前占空比50

info.period = 200; //周期200毫秒

//創(chuàng)建PWM信號

if (pwm_create(&info)

printf(“pwm_create error!\n”);

return -1;

}

//設(shè)置占空比

info.duty_cycles = 75;

if (pwm_set(&info)

printf(“pwm_set error!\n”);

return -1;

}

//停止PWM信號

if (pwm_stop(&info)

printf(“pwm_stop error!\n”);

return -1;

}

return 0;

}

通過Linux下PWM,我們可以實現(xiàn)實時控制各種外圍設(shè)備的功能,為人們的工作和生活提供了更多的便利,同時也節(jié)省了時間,提高了效率。

成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營銷公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專注高端網(wǎng)站建設(shè),網(wǎng)頁設(shè)計制作,網(wǎng)站維護,網(wǎng)絡(luò)營銷,SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽、雅安、重慶、貴州、昆明、鄭州、湖北十堰機房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。


當前題目:Linux下PWM應(yīng)用實現(xiàn)(pwmlinux)
URL標題:http://www.dlmjj.cn/article/djsdipj.html