Linux下软件定时问题,关于串口通信

最近在写linux下的modbus协议,协议帧之间用3.5个字符时间区分,我是这样理解的,
主函数里用linux软件定时,串口中断到来时判断定时标志timeflag是否置1,是则定时时间到达
所接受数据为新帧

但是我发现程序实现的都是延时功能,也就是如何设置定时标志timeflag?

http://blog.csdn.net/xbl1986/article/details/6320777

请问有没有什么关于linux下串口通信的书或者教程推荐啊

串口接收数据,数据帧太长容易分次接受,怎么解决