国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

查看: 6156|回復(fù): 9
打印 上一主題 下一主題

[提問] [緊急求助]MP等高手幫我看看這個(gè)函數(shù)咋寫啊

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2010-10-11 15:10:28 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
關(guān)鍵詞: 高手 , 函數(shù) , 求助
50積分
假設(shè)有一個(gè)長度為100的數(shù)組緩沖區(qū),數(shù)據(jù)會(huì)按照從0-100的順序順次更新緩沖區(qū),當(dāng)更新到100時(shí)然后
再次回到0開始更新。
現(xiàn)在我想通過上位機(jī)讀取這個(gè)數(shù)組緩沖區(qū)的數(shù)據(jù),但是每次讀取的個(gè)數(shù)最大為10個(gè),而且不能跨區(qū)去讀
當(dāng)知道要讀的數(shù)據(jù)起始數(shù)據(jù)地址addr,以及要讀的個(gè)數(shù)num時(shí),如何計(jì)算讀取的次數(shù)和每次讀多少個(gè)?
數(shù)據(jù)舉例:
1.addr=48,num=25,需要讀取3次(10,10,5)
2.addr=95,num=8,需要讀取2次(5,3)
3.addr=80,num=33,需要讀取4次(10,10,10,3)
4.addr=81,num=33,需要讀取4次(10,9,10,4)
如何編寫這個(gè)判斷函數(shù)啊,怎么想都感覺不簡潔,各位有什么高見
請(qǐng)老郭等我解決完這個(gè)問題再拆遷,好嗎?

沙發(fā)
發(fā)表于 2010-10-11 15:18:40 | 只看該作者
仔細(xì)研究ring buffer后,你的困惑就沒了
板凳
發(fā)表于 2010-10-11 17:08:02 | 只看該作者
小磚,看看串口中斷發(fā)送。。。
這里是一次發(fā)送10個(gè),稍微改下代碼。。。
地板
發(fā)表于 2010-10-11 17:17:42 | 只看該作者
隨便百度一下串口中斷發(fā)送, 百出來一文木細(xì)看,磚頭自己瞧瞧基于雙緩沖隊(duì)列的串口通信模塊的研究與實(shí)現(xiàn) 基于雙緩沖隊(duì)列的串口通信模塊的研究與實(shí)現(xiàn).rar (42.36 KB)
地下室
發(fā)表于 2010-10-11 17:19:16 | 只看該作者
汗,英語丟光了,蝦米事RING BUFFER?
6
發(fā)表于 2010-10-11 18:36:00 | 只看該作者
小黃,你怎么從磚塊的敘述中看出雙緩沖區(qū)的?
7
發(fā)表于 2010-10-11 20:09:02 | 只看該作者
  毛片G,雙緩沖是收發(fā)各一個(gè)賽。。。現(xiàn)在磚頭只要用一個(gè)。。。
8
發(fā)表于 2010-10-11 21:59:05 | 只看該作者
我并不是否定雙緩沖乒乓操作的優(yōu)勢(shì)
只是磚塊要解決的不是dual buffer的問題,而是ring buffer的問題
9
發(fā)表于 2010-10-11 22:31:35 | 只看該作者
  哪來乒乓。。。   剛才仔細(xì)瞄了下,確認(rèn)兩個(gè)緩沖是串口發(fā)送一個(gè),串口接收一個(gè)。。。   小磚相當(dāng)只做發(fā)送數(shù)據(jù),,,不管接收。
10
 樓主| 發(fā)表于 2010-10-12 07:43:38 | 只看該作者
問題已解決,謝謝MP的QQ上的講解,使我茅塞頓開
改天好好把這個(gè)問題整理出來

小磚相當(dāng)只做發(fā)送數(shù)據(jù),這句是對(duì)的,其它和這個(gè)問題都無關(guān)

我解決的既不是串口問題,也不是環(huán)形緩沖區(qū)的問題,而是數(shù)據(jù)拆包打包的問題

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表