精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

英創信息技術EM9280 Linux下AD驅動的應用介紹

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-01-16 09:32 ? 次閱讀

1、Linux驅動程序調用方法概述

在Linux環境中,通過驅動程序來操作相應硬件接口,對于應用程序來說就是打開特定文件名稱的文件,然后通過常規的對文件讀寫或控制的方法,來實現對硬件接口的訪問。在嵌入式系統中,對硬件的讀寫通常采用ioctl函數的形式,其典型的流程如下:

流程 實現功能 實現函數 備注
第一步 打開文件 fd = open(devname, …); 特定設備文件名稱
第二步 訪問接口

rc = ioctl(fd, cmd, …);

rc = read(fd, buf, size);

rc = write(fd, buf, size);

可能調用多次,多種cmd
第三步 關閉文件 close(fd); 不再操作,則關閉

其中ioctl(…)的基本定義為:

int ioctl(int fd, int cmd, unsigned long arg);
輸入參數 fd: 為打開文件獲得的文件描述符
cmd: 操作命令碼,在EM9280_drivers.h頭文件中以定義
arg: 需要傳遞的參數指針,不同的命令必須嚴格匹配相應的參數類型
返回值 = 0: 調用成功
= EBADF: 非法文件描述符
= EFAULT: arg指向不可訪問的內存空間
= EINVAL: 非法的cmd或arg參數
= ENOTTY: 文件描述符未指向特殊的字符設備

2、EM9280 AD驅動的應用

EM9280共有2路低速的模擬AD通道AIN1和AIN2,輸入量程為0 – 3.6V,AD分辨率12-bit。所謂低速通道,表示這兩個通道只能用于外部的直流或慢變化類型的信號。除此之外,EM9280還可提供對輸入的+5V電源電壓、+3.3V電源電壓以及核心CPU基片溫度的監測。

EM9280 AD驅動是以模塊(module)形式提供給客戶,相應的驅動文件放在根文件系統中:/lib/modules/2.6.35.3/em9280_ad.ko,EM9280 AD驅動所對應的設備文件名稱為“/dev/em9280_ad”。

首先需要加載em9280_ad驅動:
#>insmod /lib/ modules/2.6.35.3/em9280_ad.ko

然后應用程序可打開AD驅動程序對應的設備文件“/dev/em9280_ad”,可多次調用read( )來讀取各類數據。read( )函數需要帶上如下結構數據:

struct daq_info
{
unsigned int cmd; // 命令碼 = 0, 1, 2, ....
unsigned int data; // 返回的AD數據
char unit[16]; // 返回的單位字串: 'mV', 'Kalvin'等
} ;

其中cmd參數用于定義AD通道:
0 ---- AD采集通道1
1 ---- AD采集通道2
2 ---- +5V電源電壓
3 ---- +3.3V電源電壓
6 ---- 核心CPU基片溫度

注意返回的溫度參數均為開氏溫度,轉換成攝氏溫度,大致減去273即可。在此基礎上,應用程序的典型代碼如下:

int main(int argc, char** argv)
{
int fd;
int i1, rc;
int nChIndex;
struct daq_info ad;
printf('Driver em9280_ad test v1.0\n');
nChIndex = 1;
if(argc > 1)
{
nChIndex = atoi( argv[1] );
}
fd = open('/dev/em9280_ad', O_RDWR);
printf('open file = %d\n', fd);
if( fd<0 )
{
return -1;
}
ad.cmd = nChIndex;
for( i1=0; i1<20; i1++)
{
rc = read(fd, (void*)&ad, sizeof(ad) );
printf( 'nValue = %d (%s)\n', ad.data, ad.unit );
sleep(1);
}
close(fd);
printf('close file\n');
return 0;
}


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

    關注

    41

    文章

    3570

    瀏覽量

    129253
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208957
收藏 人收藏

    評論

    相關推薦

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

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

    易智瑞榮獲“信息技術應用創新工作委員會技術活動單位”

    易智瑞公司以創新作為企業發展的內核,技術上的每一次突破,都將賦予產品符合當下市場需求和技術環境的特定能力。在2024年11月5-6日召開的“2024地理信息技術創新大會”上,將全面
    的頭像 發表于 10-11 10:41 ?392次閱讀
    易智瑞榮獲“<b class='flag-5'>信息技術</b>應用創新工作委員會<b class='flag-5'>技術</b>活動單位”

    國產化背景的工控主板發展現狀

    ,是信息技術應用創新產業的簡稱,于2016年“信工委會”(信息技術應用創新工作委員會)提出,目的就是要推動我們國內軟硬件關鍵技術的研發
    的頭像 發表于 09-21 16:15 ?337次閱讀

    加速鯤鵬落地!拓維信息遷移工具榮獲鯤鵬原生開發技術認證

    認證。圖/拓維·數據庫適配中間件取得鯤鵬原生開發N認證在數字化時代的大潮中,信戰略作為國家推動信息技術應用創新、保障信息安全與自主可控的關鍵舉措,其重要性日益凸顯
    的頭像 發表于 09-10 08:03 ?397次閱讀
    加速鯤鵬落地!拓維<b class='flag-5'>信息</b>信<b class='flag-5'>創</b>遷移工具榮獲鯤鵬原生開發<b class='flag-5'>技術</b>認證

    梯度科技入選2023年信息技術應用創新解決方案名單

    日前,工業和信息化部網絡安全產業發展中心(工業和信息化部信息中心)在天津舉辦2024信息技術應用創新發展大會暨解決方案應用推廣大會。會上正式公布了2023年
    的頭像 發表于 09-09 16:29 ?394次閱讀

    linux驅動程序如何加載進內核

    ,需要了解Linux內核的基本概念和API。以下是一些關鍵概念: 1.1 內核模塊:Linux內核模塊是一種動態加載和卸載的代碼,可以在不重新啟動系統的情況加載和卸載。驅動程序通常以
    的頭像 發表于 08-30 15:02 ?388次閱讀

    中軟國際信服務助力大連信產業發展

    為進一步激發大連本地信產業生態的活力與潛力,搭建一個高效、開放的交流平臺。由大連軟件行業協會攜手大連市信息技術應用創新綜合服務中心主辦,中軟國際協辦的,2024年大連市信息技術應用創新產業發展大會
    的頭像 發表于 08-27 16:49 ?813次閱讀

    龍芯中科成功舉辦拉薩市信息技術創新應用工作交流會

    日前,由北京援藏指揮部指導,龍芯中科技術股份有限公司主辦的“信息技術創新應用工作交流會——芯動百城西藏站”成功舉辦。北京援藏指揮部領導,西藏自治區經信廳、專通局、密碼管理局等機關單位領導
    的頭像 發表于 08-21 11:32 ?552次閱讀

    龍芯中科突破“卡脖子”難題,構建新型信息技術體系

    胡偉武強調,在Wintel和AA體系主導全球電子產業的環境,中國需建立獨立于X86和ARM的第三套信息技術體系和產業生態,解決關鍵技術被封鎖的困境,加速形成新質生產力,從而創造新的競爭優勢。
    的頭像 發表于 05-20 16:12 ?552次閱讀

    翼輝信息入選2023年信息技術應用創新解決方案名單

    近日,2023 年(第五屆)信息技術應用創新解決方案公布遴選名單,歷經資格初審、技術中評、區域評議、終評預審,翼輝以“面向工業領域嵌入式操作系統 SylixOS 解決方案”,成功在全國優秀方案中脫穎而出,入選典型解決方案名單。
    的頭像 發表于 04-28 11:37 ?528次閱讀
    翼輝<b class='flag-5'>信息</b>入選2023年<b class='flag-5'>信息技術</b>應用創新解決方案名單

    龍芯中科三項信方案入圍工信部2023年信息技術應用創新應用示范案例名單

    近日,工業和信息化部通報了2023年信息技術應用創新解決方案征集遴選結果,本次共評選出典型解決方案173個、應用示范案例83個、單項創新案例64個。
    的頭像 發表于 03-07 16:45 ?871次閱讀
    龍芯中科三項信<b class='flag-5'>創</b>方案入圍工信部2023年<b class='flag-5'>信息技術</b>應用創新應用示范案例名單

    RX78M組 EtherCAT ETG.5003示例程序固件信息技術

    電子發燒友網站提供《RX78M組 EtherCAT ETG.5003示例程序固件信息技術.pdf》資料免費下載
    發表于 02-21 14:22 ?1次下載
    RX78M組  EtherCAT ETG.5003示例程序固件<b class='flag-5'>信息技術</b>

    軟通動力與捷技術簽訂戰略合作協議

    近日,軟通動力信息技術(集團)股份有限公司(以下簡稱“軟通動力”)與寧波捷技術股份有限公司(以下簡稱“捷技術”)正式簽訂戰略合作協議,并
    的頭像 發表于 02-03 16:35 ?1086次閱讀

    如何使用linuxgdb來調試python程序

    如何使用linuxgdb來調試python程序? 在Linux,可以使用GDB(GNU調試器)來調試Python程序。GDB是一個強大的調試工具,可以幫助開發者診斷和修復程序中的錯
    的頭像 發表于 01-31 10:41 ?2437次閱讀

    關于AD9280非線性的問題求解

    我有一塊用ad9280做ad轉換的板子,采用的是內部2V參考電壓的設計,輸入信號范圍是0~2V。 然后我發現直流的時候有問題: Ain=1000mV的時候,輸出0111_1111 Ain
    發表于 12-13 06:02