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

電子工程網

標題: [緊急求助]MP等高手幫我看看這個函數咋寫啊 [打印本頁]

作者: kbgyzp    時間: 2010-10-11 15:10
標題: [緊急求助]MP等高手幫我看看這個函數咋寫啊
假設有一個長度為100的數組緩沖區,數據會按照從0-100的順序順次更新緩沖區,當更新到100時然后
再次回到0開始更新。
現在我想通過上位機讀取這個數組緩沖區的數據,但是每次讀取的個數最大為10個,而且不能跨區去讀
當知道要讀的數據起始數據地址addr,以及要讀的個數num時,如何計算讀取的次數和每次讀多少個?
數據舉例:
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)
如何編寫這個判斷函數啊,怎么想都感覺不簡潔,各位有什么高見
請老郭等我解決完這個問題再拆遷,好嗎?
作者: McuPlayer    時間: 2010-10-11 15:18
仔細研究ring buffer后,你的困惑就沒了
作者: dddg    時間: 2010-10-11 17:08
小磚,看看串口中斷發送。。。
這里是一次發送10個,稍微改下代碼。。。
作者: dddg    時間: 2010-10-11 17:17
隨便百度一下串口中斷發送, 百出來一文木細看,磚頭自己瞧瞧基于雙緩沖隊列的串口通信模塊的研究與實現 基于雙緩沖隊列的串口通信模塊的研究與實現.rar (42.36 KB)
作者: dddg    時間: 2010-10-11 17:19
汗,英語丟光了,蝦米事RING BUFFER?
作者: McuPlayer    時間: 2010-10-11 18:36
小黃,你怎么從磚塊的敘述中看出雙緩沖區的?
作者: dddg    時間: 2010-10-11 20:09
  毛片G,雙緩沖是收發各一個賽。。。現在磚頭只要用一個。。。
作者: McuPlayer    時間: 2010-10-11 21:59
我并不是否定雙緩沖乒乓操作的優勢
只是磚塊要解決的不是dual buffer的問題,而是ring buffer的問題
作者: dddg    時間: 2010-10-11 22:31
  哪來乒乓。。。   剛才仔細瞄了下,確認兩個緩沖是串口發送一個,串口接收一個。。。   小磚相當只做發送數據,,,不管接收。
作者: kbgyzp    時間: 2010-10-12 07:43
問題已解決,謝謝MP的QQ上的講解,使我茅塞頓開
改天好好把這個問題整理出來

小磚相當只做發送數據,這句是對的,其它和這個問題都無關

我解決的既不是串口問題,也不是環形緩沖區的問題,而是數據拆包打包的問題




歡迎光臨 電子工程網 (http://www.4huy16.com/) Powered by Discuz! X3.4