作者slshsb200300 (jason)
看板LinuxDev
標題[問題] 在PXA270上擷取滑鼠位移量
時間Fri Jun 29 16:26:08 2012
小弟寫的程式如下
#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
→ mcauther:fread(b,sizeof(int),3,cou); <<<<sizeof(char) ?? 06/30 09:27
→ slshsb200300:感謝你的幫助,可以了XD 06/30 15:34
推 askacis:因為你用fread,會讀到滿足長度為止(sizeof(int))才出來 06/30 15:48
→ askacis:如果直接用linux的read system call就不會被blocking 06/30 15:49
→ slshsb200300:感謝a大詳細解釋XD 07/05 15:54