標題: 用單片機讀取掃碼器的數(shù)據(jù)存在數(shù)組里,掃碼器可以指令觸發(fā) 但會有別的信息回應(yīng) [打印本頁]

作者: KingTheWorld    時間: 2018-11-1 22:17
標題: 用單片機讀取掃碼器的數(shù)據(jù)存在數(shù)組里,掃碼器可以指令觸發(fā) 但會有別的信息回應(yīng)
求大神來看看能不能解決我的問題!
    用單片機讀取掃碼器的數(shù)據(jù)存在數(shù)組里,掃碼器可以指令觸發(fā)。但會有別的信息回應(yīng) ,是不需要的,而且還取消不了.........
比如我用指令觸發(fā)掃碼讀的數(shù)據(jù)是 Tiaoma【】={02, 00, 04, 01, 00, 33, 31,34 , 32};其中我只需要最后兩位,也就是Tiaoma【8】和Tiaoma【9】前面的數(shù)據(jù)是不需要的,能不能做到掃完第一個碼后 Tiaoma【】={34 , 32} ,掃完第二個碼后Tiaoma【】={34,32 , 30 ,31}
假設(shè)第二個碼的內(nèi)容是 30 31
本人C語言學(xué)的不是很好。


我的掃碼接受程序

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

}


作者: 凌凈清河    時間: 2018-11-8 21:33
掃碼器應(yīng)該是封裝好的,其反饋信息也是確定的,所以你可以在接收端新建一個數(shù)組,寫一個服務(wù)函數(shù)專門提取后兩位。
現(xiàn)在你的想法有一個問題,就是你在定義這個接收數(shù)組的時候,應(yīng)該是定長的,例如定義array[12]表示這個數(shù)組有12個元素,定義array[]={0,0,0,0}表示其中有4個元素。但是不管怎樣,這個數(shù)組的長度是確定的。想實現(xiàn)數(shù)據(jù)無限存儲是不行的,因為在編譯的時候,給數(shù)組分配的空間是固定的。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1