我正在研究一个智能卡读卡器项目,我将不得不从智能卡读卡器读取/写入数据。此外,我将不得不从 PC 应用程序读取/写入数据。
我的微控制器上有两个串行端口,一个连接到智能卡读卡器,另一个连接到 PC。
智能卡读卡器 <-----> 微控制器 <-----> PC
我已经移植了 linux 并为此使用了 /ttys0 和 /ttys1 驱动程序。
1> 我的问题是,如果应用程序必须发现某些数据可以从端口读取,而不是我必须始终使用 read() 系统调用检查它吗?
2> ttys0 驱动程序是否有内部缓冲区来存储接收到的数据?或者如果应用程序不立即读取数据,数据会丢失?
3> 在这里为每个端口的 rx/tx 使用单独的线程,这是正确的方法吗?
请指导我,我是嵌入式 linux 的新手。
//约翰