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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)EM335x主板ISA總線(xiàn)的高級(jí)應(yīng)用介紹

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-03 10:00 ? 次閱讀

對(duì)工控主板EM335x精簡(jiǎn)ISA擴(kuò)展總線(xiàn)基本讀寫(xiě)操作的介紹,已包含在EM335x編程手冊(cè)中。本文將介紹在Windows CE平臺(tái)上,通過(guò)精簡(jiǎn)ISA總線(xiàn)進(jìn)行數(shù)據(jù)塊讀寫(xiě)的方法。所謂數(shù)據(jù)塊讀寫(xiě),是指一次API調(diào)用對(duì)一個(gè)地址端口讀寫(xiě)多個(gè)數(shù)據(jù)的操作。數(shù)據(jù)塊讀寫(xiě)能有效提高數(shù)據(jù)讀寫(xiě)的效率,在數(shù)據(jù)采集傳輸中有廣泛的應(yīng)用。

要對(duì)ISA總線(xiàn)進(jìn)行讀寫(xiě),首先需要打開(kāi)設(shè)備文件“ISA1:”如下:

打開(kāi)ISA文件
HANDLE hISA;
hISA = CreateFile(_T('ISA1:'),//name of device
GENERIC_READ|GENERIC_WRITE,//desired access
FILE_SHARE_READ|FILE_SHARE_WRITE,//sharing mode
NULL,//security attributes (ignored)
OPEN_EXISTING,//creation disposition
FILE_FLAG_RANDOM_ACCESS,//flags/attributes
NULL);//template file (ignored)

數(shù)據(jù)塊讀寫(xiě)功能是通過(guò)設(shè)備驅(qū)動(dòng)的DeviceIoControl來(lái)完成的,需要用到以下數(shù)據(jù)結(jié)構(gòu):
typedef struct
{
PBYTE pReadBuf;//ISA讀數(shù)據(jù)buffer, 只能一個(gè)buffer有效
PBYTE pWriteBuf;//ISA寫(xiě)數(shù)據(jù)buffer, 只能一個(gè)buffer有效
DWORD dwDataLength;//length of data in byte
DWORD dwDataPortOfs;//讀寫(xiě)的起始地址 = 0x00 – 0xFF
DWORD dwInc;//= 0: 固定地址, > 0: 讀寫(xiě)后地址自動(dòng)增加
} ISA_BLOCK_INFO, *PISA_BLOCK_INFO;

在上述數(shù)據(jù)結(jié)構(gòu)中:

pReadBuf為進(jìn)行讀操作時(shí)的數(shù)據(jù)buffer,讀操作具體為8-bit數(shù)據(jù)讀。注意:數(shù)據(jù)結(jié)構(gòu)中,pReadBuf和pWrietBuf只能有一個(gè)有效。

pWriteBuf為進(jìn)行寫(xiě)操作時(shí)的數(shù)據(jù)buffer,寫(xiě)操作具體為8-bit數(shù)據(jù)讀。注意:數(shù)據(jù)結(jié)構(gòu)中,pReadBuf和pWrietBuf只能有一個(gè)有效。

dwDataPortOfs為讀寫(xiě)的端口地址,范圍為0x00 – 0xFF。

dwDataLength為本數(shù)據(jù)塊讀或?qū)懙淖止?jié)數(shù)。

dwInc為每次讀寫(xiě)后,地址的自動(dòng)增量,dwInc = 0:表示固定地址讀寫(xiě),dwInc > 0: 表示每次讀寫(xiě)后,地址會(huì)自動(dòng)增加dwInc,作為下一次的讀寫(xiě)地址。當(dāng)?shù)刂烦^(guò)0xFF時(shí),會(huì)折回到地址0x00。

如果要進(jìn)行單一數(shù)據(jù)塊讀寫(xiě)功能,只需定義一個(gè)ISA_BLOCK_INFO結(jié)構(gòu)變量,如BlockInfo,并按照應(yīng)用需求填寫(xiě)相應(yīng)的參數(shù)。然后就可調(diào)用系統(tǒng)API進(jìn)行設(shè)置了:

ISA_BLOCK_INFO BlockInfo;
memset(&BlockInfo, 0, sizeof(ISA_BLOCK_INFO));
//填寫(xiě)輸入?yún)?shù)值BlockInfo...

對(duì)讀操作,直接調(diào)用標(biāo)準(zhǔn)讀函數(shù):
DWORD dwNbBytesRead = 0;
BOOL bRet = ReadFile(hISA,//打開(kāi)“ISA1:”返回的Handler
&BlockInfo,//輸入數(shù)據(jù)結(jié)構(gòu)指針
sizeof(ISA_BLOCK_INFO),//數(shù)據(jù)結(jié)構(gòu)Size
&dwNbByteRead, NULL);

對(duì)寫(xiě)操作則為:
DWORD dwNbBytesWritten = 0;
BOOL bRet = WriteFile(hISA,//打開(kāi)“ISA1:”返回的Handler
&BlockInfo,//輸入數(shù)據(jù)結(jié)構(gòu)指針
sizeof(ISA_BLOCK_INFO),//數(shù)據(jù)結(jié)構(gòu)Size
&dwNbByteWritten, NULL);

如果要執(zhí)行混合的數(shù)據(jù)塊的讀寫(xiě)操作,則需要定義ISA_BLOCK_INFO數(shù)組,并根據(jù)實(shí)際應(yīng)用填寫(xiě)數(shù)組參數(shù)。例如需要進(jìn)行3組數(shù)據(jù)塊讀寫(xiě),實(shí)現(xiàn)代碼如下:
ISA_BLOCK_INFO BlockInfo[3];
DWORD dwTotalSize = sizeof(ISA_BLOCK_INFO) * 3;
memset(BlockInfo, 0, dwTotalSize);
//填寫(xiě)輸入?yún)?shù)值BlockInfo...

BOOL bRet = DeviceIoControl(hISA,//打開(kāi)“ISA1:”返回的Handler
0,//無(wú)需定義命令碼,置為0
(LPVOID)BlockInfo,//塊讀寫(xiě)數(shù)據(jù)結(jié)構(gòu)變量指針
dwTotalSize,//整個(gè)結(jié)構(gòu)數(shù)組的size
NULL, 0,//不使用這組參數(shù)
NULL, NULL);

上述操作的主要特點(diǎn)是提高訪(fǎng)問(wèn)ISA總線(xiàn)的效率,因?yàn)槊看握{(diào)用驅(qū)動(dòng)程序API,都會(huì)有一個(gè)幾微秒的系統(tǒng)開(kāi)銷(xiāo)。對(duì)多字節(jié)的數(shù)據(jù)塊讀寫(xiě),這樣的開(kāi)銷(xiāo)應(yīng)用程序就需要注意,否則會(huì)發(fā)現(xiàn)CPU的負(fù)載不合理的升高。

相關(guān)閱讀:《ESM335x工控主板ISA總線(xiàn)DMA數(shù)據(jù)傳輸》

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3524

    瀏覽量

    88430
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6085

    瀏覽量

    35216
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AM335x和AMIC110 Sitara?處理器技術(shù)參考手冊(cè)

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

    國(guó)產(chǎn)工控主板,信創(chuàng)產(chǎn)業(yè)發(fā)展新引擎

    在當(dāng)今科技飛速發(fā)展的時(shí)代,信創(chuàng)產(chǎn)業(yè)正成為國(guó)家戰(zhàn)略的重要支撐。而我們的國(guó)產(chǎn)工控主板,以其卓越的性能和可靠的品質(zhì),為信創(chuàng)產(chǎn)業(yè)的發(fā)展注入強(qiáng)大動(dòng)力。國(guó)產(chǎn)工控主板在信
    的頭像 發(fā)表于 11-06 10:29 ?151次閱讀

    中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達(dá)憑借非凡的技術(shù)實(shí)力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術(shù)服務(wù)競(jìng)爭(zhēng)力百?gòu)?qiáng)企業(yè)”以及“2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?384次閱讀

    AM335x功耗估算工具

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

    創(chuàng)國(guó)產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的簡(jiǎn)稱(chēng),于2016年“信創(chuàng)工委會(huì)”(信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì))提出,目的就是要推動(dòng)我們國(guó)內(nèi)軟硬件關(guān)鍵技術(shù)的研發(fā)
    的頭像 發(fā)表于 09-21 16:15 ?332次閱讀

    AM335x硬件設(shè)計(jì)指南

    電子發(fā)燒友網(wǎng)站提供《AM335x硬件設(shè)計(jì)指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 11:05 ?0次下載
    AM<b class='flag-5'>335x</b>硬件設(shè)計(jì)指南

    AM335x原理圖核對(duì)表

    電子發(fā)燒友網(wǎng)站提供《AM335x原理圖核對(duì)表.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 11:03 ?0次下載
    AM<b class='flag-5'>335x</b>原理圖核對(duì)表

    梯度科技入選2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案名單

    日前,工業(yè)和信息化部網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)在天津舉辦2024信息技術(shù)應(yīng)用創(chuàng)新發(fā)展大會(huì)暨解決方案應(yīng)用推廣大會(huì)。會(huì)上正式公布了2023年
    的頭像 發(fā)表于 09-09 16:29 ?392次閱讀

    現(xiàn)場(chǎng)總線(xiàn)的種類(lèi)介紹及其特點(diǎn)分析

    高級(jí)控制系統(tǒng)之間的信息傳遞。現(xiàn)場(chǎng)總線(xiàn)技術(shù)的出現(xiàn),極大地推動(dòng)了工業(yè)自動(dòng)化水平的提高。本文將詳細(xì)介紹現(xiàn)場(chǎng)
    的頭像 發(fā)表于 06-06 11:40 ?703次閱讀

    龍芯中科突破“卡脖子”難題,構(gòu)建新型信息技術(shù)體系

    胡偉武強(qiáng)調(diào),在Wintel和AA體系主導(dǎo)全球電子產(chǎn)業(yè)的環(huán)境下,中國(guó)需建立獨(dú)立于X86和ARM的第三套信息技術(shù)體系和產(chǎn)業(yè)生態(tài),解決關(guān)鍵技術(shù)被封鎖的困境,加速形成新質(zhì)生產(chǎn)力,從而創(chuàng)造新的競(jìng)爭(zhēng)優(yōu)勢(shì)。
    的頭像 發(fā)表于 05-20 16:12 ?549次閱讀

    龍芯中科三項(xiàng)信創(chuàng)方案入圍工信部2023年信息技術(shù)應(yīng)用創(chuàng)新應(yīng)用示范案例名單

    近日,工業(yè)和信息化部通報(bào)了2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案征集遴選結(jié)果,本次共評(píng)選出典型解決方案173個(gè)、應(yīng)用示范案例83個(gè)、單項(xiàng)創(chuàng)新案例64個(gè)。
    的頭像 發(fā)表于 03-07 16:45 ?862次閱讀
    龍芯中科三項(xiàng)信<b class='flag-5'>創(chuàng)</b>方案入圍工信部2023年<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新應(yīng)用示范案例名單

    集特新推出三款海光主板

    作為國(guó)內(nèi)五大芯片廠(chǎng)商之一的海光,第一顆芯片誕生于2014年,由海光信息技術(shù)股份有限公司研發(fā)(以下簡(jiǎn)稱(chēng)海光信息)。,是目前國(guó)內(nèi)唯一一家生產(chǎn)X86芯片企業(yè),采用X86指令集兼容的架構(gòu)。 集
    的頭像 發(fā)表于 03-04 17:55 ?603次閱讀
    集特新推出三款海光<b class='flag-5'>主板</b>

    集特新推出三款海光主板

    作為國(guó)內(nèi)五大芯片廠(chǎng)商之一的海光,第一顆芯片誕生于2014年,由海光信息技術(shù)股份有限公司研發(fā)(以下簡(jiǎn)稱(chēng)海光信息)。,是目前國(guó)內(nèi)唯一一家生產(chǎn)X86芯片企業(yè),采用X86指令集兼容的架構(gòu)。 集
    的頭像 發(fā)表于 02-29 17:39 ?720次閱讀
    集特新推出三款海光<b class='flag-5'>主板</b>

    軟通動(dòng)力與捷創(chuàng)技術(shù)簽訂戰(zhàn)略合作協(xié)議

    近日,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)“軟通動(dòng)力”)與寧波捷創(chuàng)技術(shù)股份有限公司(以下簡(jiǎn)稱(chēng)“捷創(chuàng)技術(shù)”)正式簽訂戰(zhàn)略合作協(xié)議,并
    的頭像 發(fā)表于 02-03 16:35 ?1084次閱讀

    MES/MOM標(biāo)準(zhǔn)之ISA-95介紹

    今天我們來(lái)分享MES/MOM行業(yè)國(guó)際標(biāo)準(zhǔn):ISA-95基礎(chǔ)內(nèi)容介紹
    的頭像 發(fā)表于 01-08 10:45 ?2647次閱讀
    MES/MOM標(biāo)準(zhǔn)之<b class='flag-5'>ISA</b>-95<b class='flag-5'>介紹</b>