我的工作是机器人,它必须控制使用无线串行通信。机器人在微控制器上运行(通过燃烧一个.hex文件)。我想用我的Linux () PC来控制它。我是新来的串口编程。我能够发送数据,但我不能读取数据。
在微控制器上运行的几段代码:
函数发送数据:
void TxData(unsigned char tx_data)
{
SBUF = tx_data; // Transmit data that is passed to this function
while(TI == 0) // Wait while data is being transmitted
;
}
LS2208扫描仪是插入的,我尝试了下面列出的扫描模式,通过阅读我在手册中找到的条形码。在"USB键盘“和"OPOS (IBM手持式完全禁用)”模式下,我可以用扫描仪将条形码读入文本文档。
USB HID键盘
IMB桌面USB
IBM手持USB
OPOS (IBM手持式完全禁用)
简单COM端口仿真
explorer = new PosExplorer();
scannerList = new ArrayList(explorer.GetDevices("Scanner"));
我在列表中看到的只有两个扫描器,它们总是可见的,即使计算机上没有插入任何东西:
{服
我使用的收银机是裸露的RedHat Linux机箱。这些寄存器有一个扫描器连接到一个串口(ttyS0)。
我们做了很多测试,要求有人站在注册和刷产品的扫描仪。我正在想办法把这个人从方程中移开。
是否有一种简单的方法来模拟来自串口的输入?
显然,向串口发送信息很容易:
echo [whatever] > /dev/ttyS0
但我真正喜欢的是某种bash代码,我可以在其中输入:
echo [barcode number] > (some code that makes the machine think the barcode number is coming from the se