[問題] 在PXA270上擷取滑鼠位移量

看板LinuxDev作者 (jason)時間12年前 (2012/06/29 16:26), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
小弟寫的程式如下 #include <stdio.h> #include <stdlib.h> int main(void) { printf("Counting\n"); FILE *cou; cou=fopen("/dev/input/mouse0","r"); if (!cou) printf("Counter open failed.\n"); char b[3]; int i; for(i=0;i<=100;i++) { fread(b,sizeof(int),3,cou); printf("out: %d\n",b[2]); } return 0; } 在ubuntu下執行的時候是很正常的,只要滑鼠有移動,值就會一直更新 但是當我交叉編譯完把檔案傳到PXA270上執行時 只要我一移動滑鼠他就只會顯示一次的值,然後就停止了,如下圖 http://i.imgur.com/bKCmp.png
請問該如何排解這個問題呢? 拜託各位前輩給小弟一些建議...感激不盡!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.108.118.32

06/30 09:27, , 1F
fread(b,sizeof(int),3,cou); <<<<sizeof(char) ??
06/30 09:27, 1F

06/30 15:34, , 2F
感謝你的幫助,可以了XD
06/30 15:34, 2F

06/30 15:48, , 3F
因為你用fread,會讀到滿足長度為止(sizeof(int))才出來
06/30 15:48, 3F

06/30 15:49, , 4F
如果直接用linux的read system call就不會被blocking
06/30 15:49, 4F

07/05 15:54, , 5F
感謝a大詳細解釋XD
07/05 15:54, 5F
文章代碼(AID): #1FxMQYgT (LinuxDev)