色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

ts7680演示服務(wù)器如何實現(xiàn)GPIO支持

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Michael Schmidt ? 2022-10-12 10:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

TS-7680 采用標準系統(tǒng)架構(gòu)介面來控制 GPIO,因此支持 GPIO 的軟件包可由 Sysfs 接口在任何電路板上使用。

要控制GPIO,我們必須首先將GPIO編號寫入,然后使用文件讀取和寫入方向(輸入的有效值為“輸入”,輸出為“輸出”) 。我們還使用文件讀取和寫入GPIO的值,其中有效值為“高”和“低”。/sys/class/gpio/export/sys/class/gpio/gpio#/direction/sys/class/gpio/gpio#/direction

現(xiàn)在,讓我們看一下 中的實現(xiàn)。首先,我們需要“fs”模塊,因為我們將與文件系統(tǒng)中的 sysfs 文件進行交互以控制我們的 GPIO:gpio.js

var fs = require(“fs”)

在執(zhí)行其他任何操作之前,讓我們實現(xiàn)一個函數(shù),以確保在實際訪問控制 GPIO 的 sysfs 文件之前已執(zhí)行 GPIO 初始化。這相當簡單。只需嘗試將 GPIO 編號寫入導(dǎo)出文件并返回指示它是否成功的布爾值:

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk2YjZhMmU1OWUuanBnJnZlcnNpb249MDAwMCZzaWc9ZmY2NjMwM2I2YjIxNTg5MjYyZThkYWI1MzY0YWI0MjI253D

現(xiàn)在讓我們看一下該函數(shù)。當我們寫入 sysfs 文件時,我們將編寫一個字符串,該字符串將以某種方式命令內(nèi)核。此函數(shù)打開指定的文件并寫入字符串。由于寫入操作非常小,并且無需接觸任何存儲介質(zhì)即可與內(nèi)核交互,因此我們使用同步寫入。發(fā)生的任何錯誤都將引發(fā)異常,我們將捕獲該異常以確定是否返回成功(true)或不返回(false)。TryWrite

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk3NjMyMDE5ZDYucG5nJnZlcnNpb249MDAwMCZzaWc9MzJjZGRmOGM0NTQyYTRlMTMyYTcyYTU4OWI3MTJiYTg253D

現(xiàn)在,我們已準備好實際讀取或?qū)懭?GPIO。該函數(shù)將讀取 GPIO 編號并返回指示 GPIO 當前狀態(tài)的字符串。如果 GPIO 是輸入,則返回的值將為“I”或 “;如果 GPIO 作為輸出被主動驅(qū)動,則返回的值將為 ”“ 或 ”“。如果出現(xiàn)問題,也可以返回“”。gpio_getNPUT_HIGHINPUT_LOWHIGHLOWERROR

讓我們一步一步地看看該怎么做。首先,我們根據(jù)傳遞的 GPIO 編號獲取 GPIO 文件的路徑:

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk4MDVlZWU2NTYucG5nJnZlcnNpb249MDAwMCZzaWc9MmJlNzcyNTQyM2IxNjhhNzU1ZTIwZmQ0OTY5MjBjYmI253D

在此之后,我們確保在sysfs中初始化GPIO,如果不成功,則返回錯誤。例如,傳遞的值可能無效:

if (!gpio_init(path,num)) return “ERROR”

然后,我們可以通過讀取相對于GPIO路徑的文件來獲得GPIO的方向。這將是“”表示輸出,或“”表示輸入:directionOUTIN

var dir=fs.readFileSync(path+“/direction”, “utf8”)

接下來,我們通過讀取文件來獲取GPIO的值。這將是一個“”或“,”,它將轉(zhuǎn)換為一個數(shù)字:value10

var data=Number(fs.readFileSync(path+“/value”, “utf8”))

最后,我們將方向/值對轉(zhuǎn)換為相應(yīng)的字符串,該字符串返回給調(diào)用者:

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk4MTM4MzNiZTYucG5nJnZlcnNpb249MDAwMCZzaWc9MzFiN2Y5MDlhOWEzMzBmY2U4MzdhOWNhYmQwYjM1ZDk253D

Writing to a GPIO

下面是用于寫入 GPIO 的函數(shù)。就像 在 中一樣,我們根據(jù) GPIO 編號檢索基本路徑,并確保 GPIO 已初始化:gpio_setgpio_get

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk4MWIwMjMxMDcucG5nJnZlcnNpb249MDAwMCZzaWc9NDM3ZWIyMGE5MTQ3YzUzMzA0ZGQyYTI3MmM5NGUzMGE253D

現(xiàn)在,我們將傳遞的值(即“,”“,”或“”)轉(zhuǎn)換為要發(fā)送到方向寄存器的命令:INPUTHIGHLOW

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk4MWZkYzE2NmYucG5nJnZlcnNpb249MDAwMCZzaWc9Y2NkZmUzZGRlMzhiYmVlNjgyOTMzN2ZlOWU5Y2RmNzU253D

剩下的就是編寫命令并將成功或失敗返回給調(diào)用方:

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk4MmUxZTk4M2YucG5nJnZlcnNpb249MDAwMCZzaWc9N2YwYjNmMDQ2YTIwMTk3MWI0NDg0MjNmZTFiYWU0YWM253D

處理 HTTP 請求

此時,我們已準備好編寫函數(shù)來處理 HTTP 請求以執(zhí)行所請求的函數(shù)。首先,我們將 URL 拆分為多個組件。第一個組件將是基本網(wǎng)址(例如“gpio”);如果有兩個組件,我們將獲得指定的GPIO值;如果有三個組件,我們將指定的GPIO設(shè)置為指定的值。如果組件數(shù)量有任何不同,則發(fā)出的請求無效,我們將返回錯誤:

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk4M2M0YmMyYjkucG5nJnZlcnNpb249MDAwMCZzaWc9NzY0M2RiOTVhNGY5YjQ3NDE1NzViOWI3ZWNkM2M0NmE253D

我們要做的下一件事是將GPIO編號拆分為一個數(shù)組。我們使用逗號字符執(zhí)行此操作,它允許將多個 GPIO 指定為逗號分隔的列表。如果不存在逗號,則僅指定一個 GPIO,并且將返回一個包含單個元素的數(shù)組:

var numlist = url[1].split(“,”)

現(xiàn)在我們準備開始發(fā)送我們的回復(fù)。由于正在發(fā)送JSON字符串,請繼續(xù)寫出開頭的數(shù)組字符:

res.write(“[”)

接下來,我們在請求中的所有GPIO號碼上設(shè)置一個循環(huán):

for (i=0;i

因為我們正在編寫一個JSON數(shù)組,所以需要在每個元素之間發(fā)送一個逗號。如果前面有一個元素,我們可以在每個元素的開頭寫逗號:

if (i》0) res.write(“,”)

現(xiàn)在,我們將GPIO數(shù)字轉(zhuǎn)換為整數(shù),并進行一些錯誤檢查:

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk4NDc5NTQ4ZDQucG5nJnZlcnNpb249MDAwMCZzaWc9NzVkYTE5YTQzMmIyMmE4YzlhYzBlNGE4Y2E2YWEyZGI253D

接下來,我們查看參數(shù)的數(shù)量,以決定是獲取還是設(shè)置GPIO信息。我們存儲返回字符串并將其寫入輸出:

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk4NzJmMDM5MGUucG5nJnZlcnNpb249MDAwMCZzaWc9NTU0YzMzNjBlMWRiNzMzYzRhZTAxM2FiMmQ3NDA5YmI253D

循環(huán)完成后,我們關(guān)閉JSON數(shù)組并完成向客戶端的發(fā)送:

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk4NzZmMTU0ZGQucG5nJnZlcnNpb249MDAwMCZzaWc9NTVjYWJiNWI2NWYwNTAxZjQxYWY1ZGZiY2E2YmU1OGE253D

最后是我們的模塊。導(dǎo)出功能。我們處理任何選項并設(shè)置端點以連接到我們的gpio功能:

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzU5Yjk4N2U2NzQ0NGUucG5nJnZlcnNpb249MDAwMCZzaWc9MDI4NmFkYmQ3NmFmNjFjNDk2M2VhMmJhY2ViNjUwMjY253D

下一部分將討論如何支持加速計

審核編輯:郭婷

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

    關(guān)注

    13

    文章

    9813

    瀏覽量

    88135
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1281

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    什么是服務(wù)器虛擬化?私人云服務(wù)器

    什么是 服務(wù)器虛擬化 ? 服務(wù)器虛擬化是一種將物理服務(wù)器轉(zhuǎn)化為虛擬服務(wù)器的過程,使得多個虛擬服務(wù)器可以在同一臺物理
    的頭像 發(fā)表于 08-08 10:44 ?1794次閱讀

    服務(wù)器特點

    服務(wù)器的功能相對于PC機來說復(fù)雜許多,不僅指其硬件配置,更多的是指其軟件系統(tǒng)配置。服務(wù)器實現(xiàn)如此多的功能,沒有全面的軟件支持是無法想象的。但是軟件系統(tǒng)一多,又可能造成
    發(fā)表于 08-02 10:42

    【NanoPi NEO申請】基于NanoPi NEO的簡單服務(wù)器的制作

    申請理由:項目描述:利用NanoPi NEO開發(fā)套件制作一個簡單的家庭終端服務(wù)器,能夠實現(xiàn)1、利用GPIO口連接外部傳感以測量相關(guān)的值2、設(shè)備接入以訪問相關(guān)傳感
    發(fā)表于 10-25 16:17

    Web服務(wù)器演示的源代碼在哪里?

    我已經(jīng)購買了ML505,并且我已經(jīng)嘗試了它附帶的Web服務(wù)器演示。我的計算機檢測到它并建立連接,但我無法在指定的地址顯示一個網(wǎng)頁(我嘗試了許多設(shè)置無濟于事)。但是,真正的問題是 - Web服務(wù)器
    發(fā)表于 08-21 09:35

    如何實現(xiàn)SSH服務(wù)器

    你好,有人已經(jīng)實現(xiàn)了SSH(2版)服務(wù)器嗎?你好嗎?SSH只是帶有SSL的telnet,還是有其他的東西有一個基本的SSH服務(wù)器?如何實施SFTP?感謝
    發(fā)表于 03-24 10:14

    OPC服務(wù)器開發(fā)淺談 — 服務(wù)器模型

    的開發(fā),主要包括兩大部分的工作:OPC接口的實現(xiàn)和設(shè)備驅(qū)動部分的開發(fā)。OPC接口的實現(xiàn),實質(zhì)上就是按照OPC標準進行COM接口開發(fā),對于大多數(shù)的OPC服務(wù)器開發(fā)者來說,我認為沒有必要涉足。目前市場...
    發(fā)表于 07-02 08:29

    服務(wù)器與物理服務(wù)器的區(qū)別是什么?

    是指物理上的單獨服務(wù)器,物理服務(wù)器的構(gòu)成包括處理、硬盤、內(nèi)存、系統(tǒng)總線。用戶可以方便的進行遠程維護,免費重裝系統(tǒng) 硬件級別上實現(xiàn)云主機之間的完全隔離; 內(nèi)置冗余的共享存儲和智能備份,
    發(fā)表于 12-09 09:56

    ASUS華碩 TS500-E6/PS4服務(wù)器主板BIOS 0

    ASUS華碩 TS500-E6 PS4服務(wù)器主板BIOS 0902版 主板驅(qū)動
    發(fā)表于 12-06 11:54 ?24次下載

    功能服務(wù)器支持的操作系統(tǒng)

    功能服務(wù)器支持的操作系統(tǒng)              目前功能服務(wù)器支持的操作系統(tǒng)主要
    發(fā)表于 01-08 14:49 ?940次閱讀

    光盤鏡像服務(wù)器支持的操作系統(tǒng)

    光盤鏡像服務(wù)器支持的操作系統(tǒng)               目前光盤鏡像服務(wù)器支持
    發(fā)表于 01-09 11:48 ?770次閱讀

    浪潮天梭TS850多路服務(wù)器

    浪潮天梭TS850是我國國內(nèi)第一款自主設(shè)計的八路服務(wù)器,為我國云計算的自主可控奠定了硬件基礎(chǔ)。 成功推出國內(nèi)第一款自主設(shè)計的八路服務(wù)器天梭TS850。這款
    發(fā)表于 03-25 15:18 ?31次下載

    AMD重新構(gòu)思服務(wù)器科技,現(xiàn)可支持APU服務(wù)器軟件

    AMD重新構(gòu)思服務(wù)器科技,現(xiàn)可支持APU服務(wù)器軟件,幫助服務(wù)器適應(yīng)現(xiàn)代數(shù)據(jù)中心工作負載的新一代開發(fā)工具亮相APU13開發(fā)者峰會。
    發(fā)表于 11-15 10:19 ?742次閱讀

    如何實現(xiàn)TS-7680硬件的支持

      一旦 npm 升級,任何時候它運行都會返回一個錯誤,說 npm 不支持 node.js v0.10.29,你應(yīng)該升級到更新的版本。忽略此警告,因為 v0.10.29 是 TS-7680 支持的最新版本,因為較新的版本缺少 A
    的頭像 發(fā)表于 06-29 14:20 ?1081次閱讀
    如何<b class='flag-5'>實現(xiàn)</b>對<b class='flag-5'>TS-7680</b>硬件的<b class='flag-5'>支持</b>

    并發(fā)服務(wù)器的設(shè)計與實現(xiàn)

    并發(fā)服務(wù)器支持多個客戶端的連接,最大可接入的客戶端數(shù)取決于內(nèi)核控制塊的個數(shù)。當使用Socket API時,要使服務(wù)器能夠同時支持多個客戶端的連接,必須引入多任務(wù)機制,為每個連接創(chuàng)建一個
    的頭像 發(fā)表于 04-25 15:35 ?1152次閱讀
    并發(fā)<b class='flag-5'>服務(wù)器</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    gpu服務(wù)器是干什么的 gpu服務(wù)器與cpu服務(wù)器的區(qū)別

     相比于傳統(tǒng)的CPU服務(wù)器,GPU服務(wù)器支持同時計算大量相似的計算操作,可以實現(xiàn)更強的并行計算性能。GPU服務(wù)器通常配備多個高性能的GPU,
    的頭像 發(fā)表于 12-02 17:20 ?2472次閱讀
    主站蜘蛛池模板: 果冻传媒免费观看 | 嫩草影院久久99 | 日日做夜夜欢狠狠免费软件 | 免费看国产曰批40分钟 | 好大快用力深一点h视频 | 久久精品国产欧美日韩99热 | 久久永久视频 | 最新精品学生国产自在现拍 | 桃隐社区最新最快地址 | 肉蒲团从国内封禁到日本成经典 | 欧美丝袜女同 | 四虎精品久久久久影院 | 久久国产精品麻豆AV影视 | 久久婷婷五月综合色精品首页 | 小便japanesewctv| 中国农村真实bbwbbwbbw | 东京热无码中文字幕av专区 | 亚洲区视频在线观看 | 久久免费视频1 | 亚洲欧美韩国综合色 | 欧美在线看费视频在线 | 成人麻豆日韩在无码视频 | 97色在线视频 | 夜夜澡人人爽人人喊_欧美 夜夜骑夜夜欢 | 欧美高清videosgratis高 | 欧美freesex黑人又粗又 | 国产午夜一级淫片 | 麻豆国产人妻精品无码AV | 爽死你个放荡粗暴小淫货漫画 | 久久中文字幕乱码免费 | 久久久无码精品一区二区三区 | 《乳色吐息》无删减版在线观看 | 久久精品视在线观看2 | 国产av免费观看日本 | 亚洲人成人毛片无遮挡 | 亚洲精品久久99蜜芽尤物TV | 我的美女奴隶 | 网红主播 国产精品 开放90后 | 亚洲AV无码国产精品午夜久久 | 秋霞鲁丝片Av无码 | 国产精品久久久久久日本 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品