
不要使用inputStream.available(),如果我没有记错的话,available返回的是没有被阻断的字节数(已经被缓冲的内容),可以尝试read(byte b[])方法,然后通过返回值是否-1来判断,如下。 int bytesRead = inputStream.read(readBuffer) *** 作硬件之前都是要先open
设备,先来分析下这里的open函数具体做了那些工作(做了大量工作 ,真的!)。
应用层通过open系统
调用open(“/dev/s3c2410_serial0”,)一层一层调用到会调用到tty_open。因为
串口在linux下是作为tty设备的,结合前面的注册过程可以分析这里首先调用的就是tty_open这个函数。cdev_init(&driver->cdev, &tty_fops)cdev_init(&driver->cdev, &tty_fops)因为根据注册的时候将s3c2410_serial0注册为一个字符设备,字符设备对应的驱动为tty_fops 详细介绍查看下《linux就该这么学》
评论列表(0条)