在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術ESM335x Linux輸出脈沖計數介紹

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-04 10:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、綜述

ESM335X具有4路PWM輸出,其中PWM1和PWM2除了可以用于產生標準的PWM信號,現已支持輸出脈沖計數功能,可以在應用程序中設置脈沖個數,當輸出脈沖個數達到指定值時,驅動程序自動停止PWM輸出,由于系統響應延遲,使用輸出脈沖計數功能時最高頻率不應超過100KHz。本文將介紹Linux系統下輸出脈沖計數功能的使用方法。

2、應用程序

1、使用PWM輸出功能需要設置如下結構體:

structpwm_config_info

{

unsignedintfreq;/*in Hz*/

unsignedintduty;/*in %*/

unsignedintpolarity;

unsignedintcount;

};

我們為了實現輸出計數功能更新了此結構體,如果需要使用輸出脈沖計數功能,用戶需要更新頭文件“em335x_drivers.h”中的此結構體及相應的封裝函數(見下文),我們也提供更改過的頭文件和示例程序,需要的用戶可以和我們聯系。

●freq用于設置頻率,單位Hz,設置為0時停止輸出

●duty用于設置占空比,單位%

●polarity用于設置輸出極性(高電平有效或低電平有效),可以取值:

#definePWM_POLARITY_NORMAL(0 << 0) // 高電平有效

#define PWM_POLARITY_INVERTED(1 << 0) // 低電平有效

只有當PWM脈沖信號輸出時,其對應的IO才會被驅動為高電平或低電平,其余時間PWM引腳為高阻輸入狀態,由于ESM335x主板上GPIO上拉電阻的作用,在沒有脈沖輸出時,PWM引腳為上拉輸入狀態(高電平)。如果實際使用時希望PWM平時保持為低電平,則需要在PWM信號上增加反向器或者增加1K歐姆的下拉電阻。

●count用于設置輸出脈沖個數,count設置為0時為標準PWM輸出,連續輸出

2、使用PWM輸出時,首先需要打開對應的設備文件,然后在調用write()函數進行參數設置,我們對write()函數進行了進一步封裝:

intPWM_Start(intfd,intfreq,intduty,intcount )

{

intrc;

structpwm_config_infoconf;

conf.freq = freq;

conf.duty = duty;

conf.polarity = POLARITY;

conf.count = count;

rc =write(fd, &conf,sizeof(structpwm_config_info));

returnrc;

}

用戶在應用程序中可以直接調用此函數使能PWM脈沖輸出功能:

#include "pwm_api.h"

intfd;

intnpwm = 1;

chardevice[32];

unsignedintfreq = 1000;

unsignedintduty = 50;

unsignedintcount = 5;

sprintf( device, "/dev/em335x_pwm%d", npwm );

fd =open(device, O_RDWR);

if( fd < 0)

{

printf("can not open /dev/em335x_pwm%d device file!\n", npwm);

return-1;

}

printf( "Open %s\n", device );

PWM_Start( fd, freq, duty, count );

3、使用脈沖輸出計數功能后,在PWM輸出時可以調用read()函數讀取剩余輸出個數,對于標準的連續PWM輸出read()函數沒有意義:

intbuf;

intnread = read ( fd, &buf,sizeof(buf) );

if( nread < 0 )

{

perror( "read" );

exit(-1);

}

if( buf > 0 )

printf( "remaining count = %d\n", buf );

4、使用過程中也可以用write()函數停止PWM輸出,我們也進行了封裝:

intPWM_Stop(intfd )

{

intrc;

structpwm_config_infoconf;

memset( &conf, 0,sizeof(structpwm_config_info));

rc = write(fd, &conf,sizeof(structpwm_config_info));

returnrc;

}

用戶直接調用此函數就可以停止PWM輸出:

PWM_Stop( fd);

使用完之后關閉設備文件:

close(fd);

5、我們在驅動中也實現了對select()函數的支持,select()函數只在進行PWM輸出計數時有意義,熟悉select()函數的用戶可以在應用程序中使用select()函數等待PWM脈沖計數輸出完成設置的個數,然后再進行其他操作,select()函數可以使用戶不必為了等待PWM脈沖計數輸出完成而阻塞應用程序,同時select()函數也可以使用戶同時對PWM1和PWM2兩個設備進行監控,在應用程序中的使用方法如下:

fd_set fdWrite;

structtimeval aTime;

intret;

while(1)

{

FD_ZERO(&fdWrite);

FD_SET(fd,&fdWrite);

aTime.tv_sec = 2;

aTime.tv_usec = 0;

ret = select ( fd+1, NULL, &fdWrite, NULL, &aTime );

if( ret<0 )

printf( "select, something wrong!\n " );

if( ret>0 )

{

if( FD_ISSET(fd, &fdWrite) )

{

printf ( "pwm out all complete!\n" );

/*PWM輸出已經輸出完設置個數,用戶可以在此進行下一步操作*/

/*write(……) or something else*/

break;

}

}

}

Polarity= PWM_POLARITY_INVERTED(低電平有效), freq=5000, duty=60, count=3 時程序運行結果如下:

如果需要使用脈沖輸出計數功能或者有任何疑問請和我們聯系。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11485

    瀏覽量

    213138
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6097

    瀏覽量

    36208
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    經過光耦之后,脈沖計數功能為什么不能實現?

    設置PA0為普通定時器,復用推挽輸出,但是發現信號經過光耦之后高電平不到2V,不能進行脈沖計數,如果設置成中斷輸入,高電平是3.3V,請問這是啥原因?現有的電路能否實現脈沖計數功能?
    發表于 06-17 06:08

    科普|信是什么?一文讀懂“信息技術應用創新”戰略

    什么是信?信,即“信息技術應用創新”,是國家推動IT系統自主可控、安全可控的重要戰略工程。它不僅是技術層面的創新,更承載著保障國家網絡安全、推動產業升級和實現數字主權的重任。簡單來
    的頭像 發表于 06-13 10:06 ?603次閱讀
    科普|信<b class='flag-5'>創</b>是什么?一文讀懂“<b class='flag-5'>信息技術</b>應用創新”戰略

    增量式編碼器原理介紹

    增量式編碼器是一種將位移信息轉換成周期性電信號,再將電信號轉換成脈沖計數的裝置。
    的頭像 發表于 03-03 10:21 ?865次閱讀
    增量式編碼器原理<b class='flag-5'>介紹</b>

    芯盛智能榮獲2024年信息技術應用創新工作委員會卓越貢獻成員單位

    日前,中國電子工業標準化技術協會信息技術應用創新工作委員會(以下簡稱 “信工委會”)2024 年度總結座談會于北京隆重舉行。此次會議對在信工作中作出突出貢獻的成員單位予以表彰。江蘇
    的頭像 發表于 01-20 09:56 ?595次閱讀

    飛騰助力首屆教育信息技術應用創新大賽圓滿落幕

    近日,由中國教育技術協會主辦,教育部教育管理信息中心教育信實驗室、公安部第三研究所、中國電子工業標準化技術協會信工委會支持,北京航空航天
    的頭像 發表于 12-24 09:57 ?489次閱讀

    有方科技參編的信息技術團體標準發布

    近日,有方科技參編的《信息技術產品供應鏈成熟度 共性指標 第1部分:企業背景評價》《信息技術產品供應鏈成熟度 共性指標 第2部分:技術掌控評價》《信息技術產品供應鏈成熟度 共性指標 第
    的頭像 發表于 12-23 10:44 ?570次閱讀

    AM335x和AMIC110 Sitara?處理器技術參考手冊

    電子發燒友網站提供《AM335x和AMIC110 Sitara?處理器技術參考手冊.pdf》資料免費下載
    發表于 11-14 15:07 ?5次下載
    AM<b class='flag-5'>335x</b>和AMIC110 Sitara?處理器<b class='flag-5'>技術</b>參考手冊

    中科達榮獲2024年軟件和信息技術服務優秀企業

    及前百家企業”名單。中科達憑借非凡的技術實力與持續的創新能力,成功入選“2024年度軟件和信息技術服務競爭力百強企業”以及“2024年軟件和信息技術服務優秀企業”。
    的頭像 發表于 10-30 11:44 ?903次閱讀

    適用于AM335x TRF7970A的neard(Linux NFC)構建說明

    電子發燒友網站提供《適用于AM335x TRF7970A的neard(Linux NFC)構建說明.pdf》資料免費下載
    發表于 10-26 11:00 ?0次下載
    適用于AM<b class='flag-5'>335x</b> TRF7970A的neard(<b class='flag-5'>Linux</b> NFC)構建說明

    AM335x功耗估算工具

    電子發燒友網站提供《AM335x功耗估算工具.pdf》資料免費下載
    發表于 10-12 11:46 ?0次下載
    AM<b class='flag-5'>335x</b>功耗估算工具

    AM335x硬件設計指南

    電子發燒友網站提供《AM335x硬件設計指南.pdf》資料免費下載
    發表于 09-19 11:05 ?2次下載
    AM<b class='flag-5'>335x</b>硬件設計指南

    AM335x原理圖核對表

    電子發燒友網站提供《AM335x原理圖核對表.pdf》資料免費下載
    發表于 09-19 11:03 ?1次下載
    AM<b class='flag-5'>335x</b>原理圖核對表

    具有脈沖計數接口的 LMT01-Q1 0.5°C 精度雙引腳數字輸出溫度傳感器數據表

    電子發燒友網站提供《具有脈沖計數接口的 LMT01-Q1 0.5°C 精度雙引腳數字輸出溫度傳感器數據表.pdf》資料免費下載
    發表于 08-13 09:20 ?0次下載
    具有<b class='flag-5'>脈沖計數</b>接口的 LMT01-Q1 0.5°C 精度雙引腳數字<b class='flag-5'>輸出</b>溫度傳感器數據表

    具有脈沖計數接口的 LMT01 0.5°C 精度雙引腳數字輸出溫度傳感器數據表

    電子發燒友網站提供《具有脈沖計數接口的 LMT01 0.5°C 精度雙引腳數字輸出溫度傳感器數據表.pdf》資料免費下載
    發表于 08-13 09:19 ?0次下載
    具有<b class='flag-5'>脈沖計數</b>接口的 LMT01 0.5°C 精度雙引腳數字<b class='flag-5'>輸出</b>溫度傳感器數據表

    esp8266的脈沖計數問題求解

    我正在編寫 nodemcu esp8266 的代碼,它涉及脈沖計數、存儲和返回 nodemcu,使用 raspberry pi 作為服務器。為此,我使用了 3 個 nodemcu esp8266
    發表于 07-10 06:49
    主站蜘蛛池模板: 在线观看深夜观看网站免费 | 国产女主播精品大秀系列在线 | 三级理论在线观看 | 欧美一区二区三区综合色视频 | 久久精品国产精品亚洲红杏 | 俄罗斯毛片基地 | 直接观看黄网站免费视频 | 久久精品亚洲一区二区三区浴池 | 天天看天天摸天天操 | 久久久蜜桃 | 1024你懂的国产精品 | 屁股趴过来欠打高h | 老师今晚让你爽个够 | 一级特色黄大片 | 国产精品a在线观看香蕉 | 精品伊人久久大香线蕉网站 | 天天操天天曰 | 国产婷婷综合在线精品尤物 | 亚洲美女黄视频 | 国模在线视频一区二区三区 | 天堂在线www | 手机看片国产免费久久网 | 性黄视频 | 亚洲综合激情网 | 啪啪午夜视频 | 在线三区 | 亚洲第一区精品日韩在线播放 | 色天使在线播放 | 日本 韩国 三级 国产 欧美 | 欧美一区二区三区四区视频 | 日韩爽片 | 精品国内一区二区三区免费视频 | 5566成人免费视频观看 | 色欧美色图 | 亚洲va久久久久综合 | 好硬好大好爽女房东在线观看 | 中文字幕天堂在线 | 亚洲综合色就色手机在线观看 | 手机在线看a | 免费人成网555www | 97色网|