久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1950|回復(fù): 15
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)緩存數(shù)據(jù)接收滿了然后進(jìn)行平移 代碼怎么寫(xiě)?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:302293 發(fā)表于 2022-3-8 13:38 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
   緩存數(shù)據(jù)接收滿了,數(shù)據(jù)向左移動(dòng),代碼怎么寫(xiě)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:401564 發(fā)表于 2022-3-8 18:33 | 只看該作者
你說(shuō)的是接到一個(gè)字節(jié)的數(shù)據(jù),還是說(shuō)一個(gè)數(shù)組的數(shù)據(jù)
向左移動(dòng)是什么意思
回復(fù)

使用道具 舉報(bào)

板凳
ID:302293 發(fā)表于 2022-3-9 08:41 | 只看該作者
Y_G_G 發(fā)表于 2022-3-8 18:33
你說(shuō)的是接到一個(gè)字節(jié)的數(shù)據(jù),還是說(shuō)一個(gè)數(shù)組的數(shù)據(jù)
向左移動(dòng)是什么意思

是的,比如刷ID卡獲取的數(shù)據(jù),只存20張的卡號(hào),當(dāng)刷第21張時(shí),卡號(hào)向前移動(dòng)
回復(fù)

使用道具 舉報(bào)

地板
ID:415064 發(fā)表于 2022-3-9 09:01 | 只看該作者
把前面的干掉或者覆蓋
回復(fù)

使用道具 舉報(bào)

5#
ID:827243 發(fā)表于 2022-3-9 09:15 | 只看該作者
這種數(shù)據(jù)結(jié)構(gòu)叫先進(jìn)先出的隊(duì)列,一般用數(shù)組實(shí)現(xiàn),設(shè)定20個(gè)元素的數(shù)組 qu[20],兩個(gè)指針,進(jìn)隊(duì)指針 pIn 和出隊(duì)指針 pOut

1. 初始化 pIn = pOut = 0;
2. 入隊(duì)列  qu[pIn]=data; pIn++; if (pIn>=20) pIn=0;if (pIn==pOut)  隊(duì)列已滿
3. 出隊(duì)列  if (pIn == pOut) 隊(duì)列空,無(wú)數(shù)據(jù)可取 else 取出 qu[pOut] ; pOut++; if (pOut>=20) pOut=0;
回復(fù)

使用道具 舉報(bào)

6#
ID:302293 發(fā)表于 2022-3-9 10:59 | 只看該作者
daemondong 發(fā)表于 2022-3-9 09:15
這種數(shù)據(jù)結(jié)構(gòu)叫先進(jìn)先出的隊(duì)列,一般用數(shù)組實(shí)現(xiàn),設(shè)定20個(gè)元素的數(shù)組 qu[20],兩個(gè)指針,進(jìn)隊(duì)指針 pIn 和出 ...

                if(CardNum_Old<20)//沒(méi)有刷卡記錄!!!注意待測(cè)試
                        {
                                //原有卡號(hào)整體平移
                                if(CardNum_Old>0)
                                {
                                        for(i=0;i<CardNum_Old*6;i++)
                                        {
                                                EEData_Tran=CardNum_Data[(6*CardNum_Old)-i];
                                                CardNum_Data[(6*(CardNum_Old+1))-i]=EEData_Tran;
                                        }
                                }
回復(fù)

使用道具 舉報(bào)

7#
ID:401564 發(fā)表于 2022-3-9 11:15 | 只看該作者
5#已經(jīng)給出答案了,這方法FIFO,你可以想象成一根兩頭通的管子,東西從這一頭放進(jìn)去,超過(guò)管子長(zhǎng)度了,就從那一頭擠出去了
我不太喜歡思考,如果是我的話,就用兩個(gè)數(shù)組A和B,長(zhǎng)度為20,A數(shù)組滿了就把這個(gè)數(shù)組的數(shù)據(jù)覆蓋到B,再把A清除,B數(shù)組保持有一組
整體下來(lái)就是保持有20-40個(gè)數(shù)據(jù)
用結(jié)構(gòu)的話,就直接B=A;就完成了數(shù)據(jù)的復(fù)制了
回復(fù)

使用道具 舉報(bào)

8#
ID:302293 發(fā)表于 2022-3-9 11:34 | 只看該作者
daemondong 發(fā)表于 2022-3-9 09:15
這種數(shù)據(jù)結(jié)構(gòu)叫先進(jìn)先出的隊(duì)列,一般用數(shù)組實(shí)現(xiàn),設(shè)定20個(gè)元素的數(shù)組 qu[20],兩個(gè)指針,進(jìn)隊(duì)指針 pIn 和出 ...

消息滿了往前移動(dòng)4字節(jié),后面的補(bǔ)上空出的地址
回復(fù)

使用道具 舉報(bào)

9#
ID:884147 發(fā)表于 2022-3-9 15:14 | 只看該作者
sr861126 發(fā)表于 2022-3-9 08:41
是的,比如刷ID卡獲取的數(shù)據(jù),只存20張的卡號(hào),當(dāng)刷第21張時(shí),卡號(hào)向前移動(dòng)

可以考慮移指針而不是移數(shù)據(jù),數(shù)據(jù)一旦存入位置就固定了,只移動(dòng)指針,新數(shù)據(jù)永遠(yuǎn)存在指針為1的位置
回復(fù)

使用道具 舉報(bào)

10#
ID:466505 發(fā)表于 2022-3-9 16:34 | 只看該作者
建鏈表,隨意刪除插入
回復(fù)

使用道具 舉報(bào)

11#
ID:879809 發(fā)表于 2022-3-9 19:31 | 只看該作者
這個(gè)問(wèn)題的答案,都寫(xiě)在《數(shù)據(jù)結(jié)構(gòu)》這本書(shū)里面了,找本看看吧。
回復(fù)

使用道具 舉報(bào)

12#
ID:161164 發(fā)表于 2022-3-9 21:33 | 只看該作者
假設(shè)每次只移一字節(jié)
uchar save_buff[20];

for(i = 0;i<19;i++)
{
save_buff[i] = save_buff[i+1];
}
save_buff[19] = new_data;
回復(fù)

使用道具 舉報(bào)

13#
ID:401564 發(fā)表于 2022-3-9 21:57 | 只看該作者
lkc8210 發(fā)表于 2022-3-9 21:33
假設(shè)每次只移一字節(jié)
uchar save_buff[20];

9#已經(jīng)告訴樓主方法了,但樓主好像不太理解,他又重新發(fā)個(gè)帖子問(wèn)........
你這個(gè)方法,樓主應(yīng)該是可以理解的
回復(fù)

使用道具 舉報(bào)

14#
ID:624769 發(fā)表于 2022-3-9 22:49 | 只看該作者
用12樓的方法,可以達(dá)到你想要的目的, 但是,建議你用5樓的方法, 原因很簡(jiǎn)單, C語(yǔ)言,在做數(shù)組搬移的工作的時(shí)候,雖然代碼只有寥寥幾句,工作量是相當(dāng)?shù)拇蟮模?60800波特率的前提下,32個(gè)字節(jié)的數(shù)組搬移速度,都跟不上串口的接收的速度。也許你現(xiàn)在的項(xiàng)目,勉強(qiáng)可以用數(shù)組搬移,但是,如果緩沖池更大(128字節(jié))? 傳輸速率更高(2MHz波特率)呢? 所以,出于長(zhǎng)遠(yuǎn)考慮,還是要用 5 樓的方法比較靠譜。
回復(fù)

使用道具 舉報(bào)

15#
ID:962286 發(fā)表于 2022-3-10 09:25 | 只看該作者
一個(gè)合理FIFO從來(lái)都是改變指針指向目標(biāo)存的值,而不是移數(shù)據(jù)。
回復(fù)

使用道具 舉報(bào)

16#
ID:824490 發(fā)表于 2022-3-10 20:42 | 只看該作者
建一個(gè)環(huán)形數(shù)組緩沖區(qū),每寫(xiě)入一個(gè)數(shù)據(jù),把指針指向下一個(gè)數(shù)據(jù),當(dāng)數(shù)組指針下標(biāo)溢出則返回?cái)?shù)組首址。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 四虎成人免费电影 | 91视频一区| www.国产精 | 国产不卡视频 | 日韩中文字幕免费在线 | 日本一区二区在线视频 | 中文亚洲视频 | 精品久久影院 | 成人在线国产 | 美女露尿口视频 | 在线亚洲人成电影网站色www | 久久久噜噜噜www成人网 | 欧美福利视频一区 | 日韩午夜场 | 久久久久久亚洲精品 | 国产精品久久久久一区二区 | 天天干天天操 | 影音先锋成人资源 | 91porn在线 | 欧美一区二区三区小说 | 在线视频 中文字幕 | 日韩欧美在线观看视频 | 久久久久成人精品 | 精品久久精品 | 中日字幕大片在线播放 | 精品成人在线观看 | 精品一区二区三区免费毛片 | 国产日韩一区二区三区 | 一区二区三区欧美 | 夜夜撸av| 精品国产女人 | 国产成人免费视频网站高清观看视频 | 日韩一区二区久久 | 国产999在线观看 | 欧美中文一区 | 亚洲 日本 欧美 中文幕 | 久久综合香蕉 | 综合色影院 | 国产jizz女人多喷水99 | 精品一区二区视频 | 中文字幕日韩欧美一区二区三区 |