找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2008|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

C語言數(shù)組拷貝問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:510170 發(fā)表于 2021-4-17 11:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
最近在搞id卡門禁系統(tǒng)。想把讀取的卡號存到單片機(jī)內(nèi)存里面,遇到了一些問題,第一個(gè)就是存儲超過256字節(jié)時(shí)會卡死,跳不出循環(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ò),請大神們幫忙看看,謝謝了。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:451718 發(fā)表于 2021-4-17 15:54 | 只看該作者
#include <string.h>
memcpy(sjbuf,idbuf,sizeof(idbuf));
回復(fù)

使用道具 舉報(bào)

板凳
ID:57657 發(fā)表于 2021-4-17 17:43 | 只看該作者
數(shù)組越界,idbuf只有15字節(jié),因此 [] 里的值應(yīng)為 0~14
回復(fù)

使用道具 舉報(bào)

地板
ID:884843 發(fā)表于 2021-4-17 18:28 | 只看該作者
指針指向了未知內(nèi)存區(qū)域
回復(fù)

使用道具 舉報(bào)

5#
ID:907466 發(fā)表于 2021-4-17 19:09 | 只看該作者
數(shù)組容量的問題
回復(fù)

使用道具 舉報(bào)

6#
ID:510170 發(fā)表于 2021-4-18 17:36 | 只看該作者
謝謝各位大神解答,問題解決了。還是內(nèi)存的問題。編譯的時(shí)候內(nèi)存模式選small就行了。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表