1.我的理解是流水线最多200个轮胎,只在入口检测,到对应位置打开对应输出?首先标定各个输出与入口的距离存入数组(假设为p1,p2,p3...),然后整个线体一圈假定N个脉冲,计数器为环形计数器最好,不是的话需要程序取余数但是可能溢出会导致取余数不准。当入口感应到轮胎则记录当前编码器数字假设为P,然后就得到了每个输出输出时的位置(P+P1)MOD N,当当前值大于等于此值时输出打开一段时间。上述可以构造一个200*40的数组实现,然后输出过后可以再设置个标志位,当所有标志位ON之后就可以清除这个轮胎的位置数据了。
2.可以理解成原本Y0对应Y0,Y1对应Y1,。。。程序可以先做一次映射,比如Y0--M0,Y1--M1。那么原本的映射关系可以看成是M0=Y0*1+Y1*0+....所以所要做的是构建一个单位矩阵,对角线全为1,映射关系就是矩阵的乘积,所以输入数字改变映射关系就是改变这个矩阵,也就是每一行1的位置,这个应该就没啥难度了吧,这样可以实现全输出任意映射的切换。
3.没太看懂题目?感觉用个存储1--8的8个寄存器队列,移动一次先出后入一次记忆工位,产品对应关系,然后另有8个寄存器存储报警。报警发生时,现根据队列找到对应关系然后存入报警信息不就好了?
4.怎么提取,输入起始位置和长度提取?要是我就直接整个字符串异或0b1000 0000,因为ASC范围也就到0X7F,这样把H00转化成合法字符串用字符串指令操作好再异或回来。
5.二分法,思路很简单只不过写的时候细节很多。