1. scull.h 驅動程式由scullpipe改過來的
2. poll.c
3. makefile
4. poll_testw.c 帶引數,0表示開啟第一裝置,1表示開啟第二個裝置
5. poll_testr.c
6. makefile
7. 開始測試
裝載驅動程式
sudo insmod ./poll.ko
檢視主裝置號,這裡假設為251
cat /proc/devices
建立裝置節點
sudo mknod /dev/poll_pipe0 c 251 0
sudo mknod /dev/poll_pipe1 c 251 1
更改許可權
sudo chgrp staff /dev/poll_pipe[0-1]
sudo chmod 664 /dev/poll_pipe[0-1]
在第乙個終端開啟讀程式,程式阻塞在poll函式
sudo ./poll_testr.o
在第二個終端開啟帶引數為0的寫程式
sudo ./poll_testw.o 0
結果:第二個終端列印:write 24 bytes to polltest
第乙個終端列印:read hello, character driver! from polltest0
接著在第二個終端開啟引數為1的寫程式
sudo ./poll_testw.o 1
結果:第二個終端列印:write 24 bytes to polltest
第乙個終端列印:read hello, character driver! from polltest1
字元裝置驅動程式之按鍵 poll機制
本節裡我們在按鍵中斷機制的基礎上新增了poll機制來優化程式 我們知道,應用程式中的open read write函式會呼叫核心裡的sys open sys read sys write函式,而核心裡的這些函式又會對應到驅動程式裡的.open read write函式。我們的poll機制也不例外,使...
linux 驅動程式 高階字元驅動程式
ioctl方法 驅動程式的原型實現 int ioctl struct inode inode,struct file filp,unsigned int cmd,unsigned long arg ioctl 命令選擇 位段結構 number direction ioc read ioc write...
poll驅動程式示例
1 驅動 include include include include include include include include include define queue count 256 int readqcount 0 int readqhead 0 int readqtail 0 c...