|
最近在搞id卡門(mén)禁系統(tǒng)。想把讀取的卡號(hào)存到單片機(jī)內(nèi)存里面,遇到了一些問(wèn)題,第一個(gè)就是存儲(chǔ)超過(guò)256字節(jié)時(shí)會(huì)卡死,跳不出循環(huán),第二個(gè)就是串口輸出超過(guò)256是,屏幕無(wú)輸出,這個(gè)倒是不關(guān)鍵,改成128就沒(méi)有問(wèn)題了。因?yàn)槲掖谥皇怯脕?lái)監(jiān)控用的,并不需要一次發(fā)超過(guò)64個(gè)字節(jié)的數(shù)據(jù),關(guān)鍵就是數(shù)組copy的問(wèn)題,
//這里需要將所有的新信息存至緩存中,然后發(fā)送至后臺(tái)軟件
sjbuf[0] = idbuf[1];
sjbuf[1] = idbuf[2];
sjbuf[2] = idbuf[3];
sjbuf[3] = idbuf[15];
for(i=0; i<15; i++) TX1_write2buff(idbuf[ i]);
for(i=0; i<4; i++) TX1_write2buff(sjbuf[ i]);
我將idbuf的內(nèi)容拷到sjbuf里面去,顯示的內(nèi)容全部為a5
03 06 00 00 02 0D 06 08 08 05 36 00 2D 68 85 //idbuf里面的內(nèi)容
A5 A5 A5 A5 //sjbuf里面的內(nèi)容。
我開(kāi)始以為是內(nèi)存大小的問(wèn)題,后來(lái)用串口輸出內(nèi)容后發(fā)現(xiàn),和內(nèi)存無(wú)關(guān),而是數(shù)組沒(méi)有拷貝過(guò)去。不清楚問(wèn)題出在哪里,程序沒(méi)有報(bào)錯(cuò),請(qǐng)大神們幫忙看看,謝謝了。
|
|