|
最近在搞id卡門禁系統(tǒng)。想把讀取的卡號存到單片機(jī)內(nèi)存里面,遇到了一些問題,第一個(gè)就是存儲超過256字節(jié)時(shí)會(huì)卡死,跳不出循環(huán),第二個(gè)就是串口輸出超過256是,屏幕無輸出,這個(gè)倒是不關(guān)鍵,改成128就沒有問題了。因?yàn)槲掖谥皇怯脕肀O(jiān)控用的,并不需要一次發(fā)超過64個(gè)字節(jié)的數(shù)據(jù),關(guān)鍵就是數(shù)組copy的問題,
//這里需要將所有的新信息存至緩存中,然后發(fā)送至后臺軟件
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)容。
我開始以為是內(nèi)存大小的問題,后來用串口輸出內(nèi)容后發(fā)現(xiàn),和內(nèi)存無關(guān),而是數(shù)組沒有拷貝過去。不清楚問題出在哪里,程序沒有報(bào)錯(cuò),請大神們幫忙看看,謝謝了。
|
|