国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

嵌入式linux下如何使用usb鍵盤

這篇具有很好參考價(jià)值的文章主要介紹了嵌入式linux下如何使用usb鍵盤。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

首先usb鍵盤驅(qū)動(dòng)的源代碼位于一下目錄:

drivers/usb/input/usbkbd.c

將usb鍵盤驅(qū)動(dòng)編譯進(jìn)內(nèi)核:

#make menuconfig

Device Drivers—>USB support---->USB HIDBP Keyboard (simple Boot) support

(注意:有可能默認(rèn)設(shè)置USB鍵盤驅(qū)動(dòng)是不可見的,需修改當(dāng)前目錄下的Kconfig文件)

保存設(shè)置后,重新編譯內(nèi)核:

#source setenv

#make uImage
#make zImage

uImage生成后位于目錄:arch/arm/boot/uImage;

(或者直接將usb鍵盤驅(qū)動(dòng)編譯為驅(qū)動(dòng)模塊,進(jìn)行加載也可);

啟動(dòng)系統(tǒng)后,確定usb鍵盤加載到了那個(gè)設(shè)備文件,一般為/dev/input/event0設(shè)備,可通過cat命令進(jìn)行確認(rèn):

#cat /dev/input/event0

操作usb鍵盤,會(huì)有亂碼出現(xiàn);

然后應(yīng)用層用這個(gè)程序來獲取usb鍵盤的輸入:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/input.h>

struct input_event buff; 
int fd; 
int read_nu;

int main(int argc, char *argv[])
{undefined
    fd = open("/dev/input/event0", O_RDONLY);
    if (fd < 0)
    { 
        perror("can not open device usbkeyboard!"); 
        exit(1); 
    } 
    int i = 0;
    printf("--fd:%d--\n",fd);
    while(1)
    {undefined
        while(read(fd,&buff,sizeof(struct input_event))==0)
        {undefined
            ;
        }
        //if(buff.code > 40)
        printf("type:%d code:%d value:%d\n",buff.type,buff.code,buff.value); 
        
        //#if 0
        //i++;
        //if(i > 12)
        //{undefined
            //break;
        //} 
        //#endif
    } 
    
    close(fd); 
    return 1;
}

運(yùn)行程序后,按下A鍵,可見如下輸出:

–fd:3–

type:1 code:30 value:1
type:0 code:0 value:0

按下a鍵,可見如下輸出:
type:1 code:60 value:1
type:0 code:0 value:0文章來源地址http://www.zghlxwxcb.cn/news/detail-674587.html

到了這里,關(guān)于嵌入式linux下如何使用usb鍵盤的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 全志V3S嵌入式驅(qū)動(dòng)開發(fā)(解決kernel 5.2.y wifi驅(qū)動(dòng)問題)

    【 聲明:版權(quán)所有,歡迎轉(zhuǎn)載,請(qǐng)勿用于商業(yè)用途。 聯(lián)系信箱:feixiaoxing @163.com】 ? ? ? ? wifi模塊,之前測(cè)試的時(shí)候,開發(fā)板上用的是esp 8089,當(dāng)時(shí)內(nèi)核時(shí)4.14.y,測(cè)試結(jié)果也是通過的。印象不是太深的朋友可以回顧一下,鏈接地址在這, ? ? ? ? 那個(gè)時(shí)候測(cè)試,我們就說過

    2024年02月12日
    瀏覽(22)
  • 嵌入式開發(fā)7279A數(shù)碼管 鍵盤

    嵌入式開發(fā)7279A數(shù)碼管 鍵盤

    HD7279A硬件電路圖HD7279A是一種管理鍵盤和LED顯示器的專用智能控制芯片。它能對(duì)8位共陰極LED顯示器或64個(gè)LED發(fā)光管進(jìn)行管理和驅(qū)動(dòng),同時(shí)能對(duì)多達(dá)8×8的鍵盤矩陣的按鍵情況進(jìn)行監(jiān)視,具有自動(dòng)消除鍵抖動(dòng)并識(shí)別按鍵代碼的功能,從而可以提高CPU工作的效率。HD7279A和微處理器之

    2024年02月03日
    瀏覽(21)
  • 嵌入式培訓(xùn)機(jī)構(gòu)四個(gè)月實(shí)訓(xùn)課程筆記(完整版)-Linux ARM驅(qū)動(dòng)編程第二天-ARM按鍵1*3矩陣鍵盤編程 (物聯(lián)技術(shù)666)

    鏈接:https://pan.baidu.com/s/1E4x2TX_9SYhxM9sWfnehMg?pwd=1688 提取碼:1688 1、鍵盤1*3的中斷程序 //************************************************ #include \\\"2440addr.h\\\" ? ? ? ? ? #include \\\"2440lib.h\\\" #include \\\"uart.h\\\" void __irq Eint2Handler(void); void __irq Eint3Handler(void); void __irq Eint4_7Handler(void); void EXIT_IRQ_init(int num

    2024年02月21日
    瀏覽(21)
  • 嵌入式開發(fā)—矩陣鍵盤原理及程序設(shè)計(jì)

    嵌入式開發(fā)—矩陣鍵盤原理及程序設(shè)計(jì)

    矩陣鍵盤很好理解,就是排布類似矩陣的按鍵,大家可以想一下點(diǎn)陣的外形。大概長(zhǎng)下面這個(gè)樣子 矩陣鍵盤一般應(yīng)用在需要用到大量按鍵的場(chǎng)景,主要是為了節(jié)省按鍵使用的IO資源。比如一個(gè)項(xiàng)目需要用到16個(gè)按鍵,如果使用普通的獨(dú)立按鍵,每一個(gè)按鍵都需要一個(gè)IO,16個(gè)按

    2024年02月05日
    瀏覽(98)
  • 嵌入式LINUX開發(fā)系列之ARM板子如何替換debian鏡像源

    嵌入式LINUX開發(fā)系列之ARM板子如何替換debian鏡像源

    當(dāng)你做嵌入式開發(fā)過程中拿到一個(gè)開發(fā)板,遇到 apt update ,發(fā)現(xiàn)無法成功,鏡像源無法使用,這樣的話大大增加了開發(fā)難度。最近一個(gè)項(xiàng)目遇到這個(gè)問題,搜尋網(wǎng)絡(luò)卻無法得到有效答案,本人作為一名嵌入式開發(fā)工程師,在這里總結(jié)了一下,希望對(duì)大家做開發(fā)有所幫助,共同

    2024年03月24日
    瀏覽(29)
  • 使用Yocto進(jìn)行嵌入式Linux開發(fā)3 Toaster

    使用Yocto進(jìn)行嵌入式Linux開發(fā)3 Toaster

    我們已經(jīng)知道了如何在Poky中使用BitBake構(gòu)建圖像image,那么我們將學(xué)習(xí)如何使用Toaster完成同樣的操作。 Toaster是一個(gè)用于配置和運(yùn)行構(gòu)建的Web接口。它與BitBake和Poky構(gòu)建系統(tǒng)通信,以管理和收集有關(guān)構(gòu)建、軟件包和鏡像的信息。 使用Toaster的兩種方法: 本地 可以將Toaster作為本

    2024年02月08日
    瀏覽(21)
  • 使用Yocto進(jìn)行嵌入式Linux開發(fā)1 Yocto簡(jiǎn)介

    使用Yocto進(jìn)行嵌入式Linux開發(fā)1 Yocto簡(jiǎn)介

    Yocto項(xiàng)目是Linux基金會(huì)的一個(gè)工作組,它是一個(gè)開源協(xié)作項(xiàng)目,幫助開發(fā)人員創(chuàng)建基于Linux的定制系統(tǒng),這些系統(tǒng)專為嵌入式產(chǎn)品而設(shè)計(jì),與產(chǎn)品的硬件架構(gòu)無關(guān)。Yocto項(xiàng)目提供了一個(gè)靈活的工具集和開發(fā)環(huán)境,使世界各地的嵌入式設(shè)備開發(fā)人員能夠通過共享技術(shù)、軟件棧、配

    2024年02月09日
    瀏覽(29)
  • 在嵌入式Linux設(shè)備上使用Flutter開發(fā)圖形界面(試水)

    在嵌入式Linux設(shè)備上使用Flutter開發(fā)圖形界面(試水)

    鏈接: https://www.bilibili.com/video/BV1qE411N7aC/?spm_id_from=333.880.my_history.page.clickvd_source=0c443477abedebf2fdf7abecef55405d 我是跟著這個(gè)視頻安裝 Docker Desktop for Windows + 啟用k8s k8s網(wǎng)址 https://github.com/AliyunContainerService/k8s-for-docker-desktop 主要步驟參照 https://www.toradex.com/zh-cn/blog/zai-qian-ru-shi-linux-sh

    2024年02月21日
    瀏覽(27)
  • 【嵌入式Linux】編譯應(yīng)用和ko內(nèi)核模塊Makefile使用記錄

    【嵌入式Linux】編譯應(yīng)用和ko內(nèi)核模塊Makefile使用記錄

    在Makefile中,變量的賦值可以使用以下幾種方式: = :最基本的賦值符號(hào),表示簡(jiǎn)單的延遲展開(lazy expansion)方式。變量的值將會(huì)在使用變量的時(shí)候進(jìn)行展開。 := :立即展開(immediate expansion)的賦值方式。變量的值在賦值的時(shí)候立即展開,并且在后續(xù)的使用中不再改變。

    2024年02月08日
    瀏覽(24)
  • 【嵌入式】Linux開發(fā)工具arm-linux-gcc安裝及使用

    【嵌入式】Linux開發(fā)工具arm-linux-gcc安裝及使用

    宿主機(jī) 執(zhí)行編譯、鏈接嵌入式軟件的計(jì)算機(jī) 目標(biāo)機(jī) 運(yùn)行嵌入式軟件的硬件平臺(tái) “本地”編譯器 用來生成在與編譯器本身所在的計(jì)算機(jī)和操作系統(tǒng)(平臺(tái))相同的環(huán)境下運(yùn)行的目標(biāo)代碼,例如 Windows 環(huán)境生成 Windows 目標(biāo)代碼。 交叉編譯器 用來生成在其它平臺(tái)上運(yùn)行的目標(biāo)代

    2024年01月17日
    瀏覽(50)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包