找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2092|回复: 1
收起左侧

用单片机读取扫码器的数据存在数组里,扫码器可以指令触发 但会有别的信息回应

[复制链接]
ID:357396 发表于 2018-11-1 22:17 | 显示全部楼层 |阅读模式
求大神来看看能不能解决我的问题!
    用单片机读取扫码器的数据存在数组里,扫码器可以指令触发。但会有别的信息回应 ,是不需要的,而且还取消不了.........
比如我用指令触发扫码读的数据是 Tiaoma【】={02, 00, 04, 01, 00, 33, 31,34 , 32};其中我只需要最后两位,也就是Tiaoma【8】和Tiaoma【9】前面的数据是不需要的,能不能做到扫完第一个码后 Tiaoma【】={34 , 32} ,扫完第二个码后Tiaoma【】={34,32 , 30 ,31}
假设第二个码的内容是 30 31
本人C语言学的不是很好


我的扫码接受程序

void UARTInterrupt() interrupt 4  
{
    if(RI==1)
    {
        RI = 0;
        Tiaoma[j] = SBUF;  
                j++;
    }

}

回复

使用道具 举报

ID:362076 发表于 2018-11-8 21:33 | 显示全部楼层
扫码器应该是封装好的,其反馈信息也是确定的,所以你可以在接收端新建一个数组,写一个服务函数专门提取后两位。
现在你的想法有一个问题,就是你在定义这个接收数组的时候,应该是定长的,例如定义array[12]表示这个数组有12个元素,定义array[]={0,0,0,0}表示其中有4个元素。但是不管怎样,这个数组的长度是确定的。想实现数据无限存储是不行的,因为在编译的时候,给数组分配的空间是固定的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表