作者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
1F:→ mcauther:fread(b,sizeof(int),3,cou); <<<<sizeof(char) ?? 06/30 09:27
2F:→ slshsb200300:感谢你的帮助,可以了XD 06/30 15:34
3F:推 askacis:因为你用fread,会读到满足长度为止(sizeof(int))才出来 06/30 15:48
4F:→ askacis:如果直接用linux的read system call就不会被blocking 06/30 15:49
5F:→ slshsb200300:感谢a大详细解释XD 07/05 15:54