一维扫描器传送给单片机的信息,怎么进行区分?

2020-01-18 18:43发布

例如选用这款扫描器,UC1500的。
这款扫描器是usb/rs232/PS、2三种接口出信号的,可以做个转换板,例如把usb转为串口(TTL)接口。
这款扫描器出来的是数字信号。

然后是使用这款扫描器的目的:用于物流分类。思路如下:
先准备三个不同的一维码假设为A,B,C(暂时不考虑长度)。自己定义让一维码A对应为广州市,B为上海市,C为北京市。
然后将A,B,C贴在自制的纸质包裹上(三者保持足够距离),通过传送带带动给扫描器扫描。
扫描器将扫描到的信息发给单片机。

问:单片机如何识别这个信号并加以区分是A还是B还是C?有没有用过的前辈给点意见指点下迷津。

1,希望有高手能帮忙解答,如果要达成以上目的需要具备哪些条件
2,可以不拘泥于这款扫描器,只有能实现自动扫描并发送信号的这类扫描一维码的设备都可以。
3,有没有用过这类设备的高手能提供下于51通信,并用51来识别处理的源码,部分的也是可以的。
4,或者有没有高手评估一下项目的可行性,和预测下开发周期。

感谢您的阅读,如果您有宝贵的意见希望不吝赐教,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
26条回答
xintao
1楼-- · 2020-01-19 05:50
柯铭凯 发表于 2016-3-5 15:18
是啊,您说的很对就是这个思维,现在技术上遇到的困难就是在单片机上如何利用程序来识别读到的是111,还 ...

     我也没用过扫描枪,具体的数据传输格式我也不太清楚。
     但我认为,这个问题的解决思路大致应该是这样的:
     1、首先,你应该知道51单片机用串口接收数据的流程是怎样的,也就是说,你首先应该要会用单片机的串口;
     2、你需要搞清楚你的扫描枪和单片机之间的通信协议是怎样的;
     3、搞清楚以上两个点以后,你才好确定你的程序结构;
     其实判断收到的数据是A,还是B,还是C,最后的程序结构无非就是:
        if(xxxx)
        {
                ...
        }
        else if(xxxx)
        {
                ...
        }
    或者是:
        switch (xxxx)
        {
        case A:                     
           ...
           break;
        case B:                        
            ...
            break;
        default:                        
            ...
            break;
        }
磊磊映画
2楼-- · 2020-01-19 11:46
 精彩回答 2  元偷偷看……
蓝蓝的恋
3楼-- · 2020-01-19 14:40
柯铭凯 发表于 2016-3-5 15:16
不是要接电脑,是要接单片机,单片机又没法直接显示出来,要写一个比较程序,比较读取到的是什么,才好确 ...

匹配波特率,串口中断判断数据不就行了,条码器发送的数据最后一个字节是0x0D
柯铭凯
4楼-- · 2020-01-19 18:28
恩,我就是在淘宝找不到通信协议才来求助的,有没有人用过这种扫描器,写过这类程序?
柯铭凯
5楼-- · 2020-01-19 21:36
xintao 发表于 2016-3-5 15:37
我也没用过扫描枪,具体的数据传输格式我也不太清楚。
     但我认为,这个问题的解决思路大致应该 ...

恩,对。程序是这么个思路,不过论坛上有个一个扫描枪的貌似和这个思路是有出入的。

主题如下:PS2接口扫描枪 激光条码阅读器 条码扫描枪 条码枪 的C51驱动程序

因为淘宝商家都没有通讯协议,所以我也不确定是怎么工作的,求大神指点
zhaoghsea
6楼-- · 2020-01-19 23:53
假如你条码是12345,一般扫描仪出来的数据串为 0x55(头标识符)0x31 0x32 0x33 0x34 0x35(12345的ASCII码)0xAA(结束符),基本就这种格式的,可能具体有细微差别,总体都差不多的,你随便整一个连下串口助手扫一下就知道了

一周热门 更多>