如何依照Bit來塞資料 |
缺席
|
pireer
初階會員 ![]() ![]() 發表:73 回覆:80 積分:30 註冊:2004-12-14 發送簡訊給我 |
我有一個fountion Data(BYTE bData, int w, int x)
然後有一個陣列來存放資料 Darray[1024] bData 傳BYTE資料. w資料寬度 x 陣列的INDEX x%8 開始的BIT ,如果餘數是2 表示從第2BIT開始放資料,再加上間隔的話 ( x%8 間隔) 假設 bData = 0xFE; w = 7; x = 10....表示要在Darray[x] 放入 bData . 但Darray[x]內已有 0x60; 必須保留前面資料 (如圖一)011部份要保留. 間距部份為資料間的距離.後面才放資料.. 圖二 第一個陣列為Darray[10] 第二個為Darray[11].第一個放不下就自動往後一個陣列. 由於資料寬度為7..所以0xFE只會放到1111 111最後一個0 則保留先前Darray[11]同位置的Bit. 不知道有前輩能幫忙嗎 ..感謝 .. |
stellos
中階會員 ![]() ![]() ![]() 發表:24 回覆:84 積分:51 註冊:2004-06-08 發送簡訊給我 |
|
pireer
初階會員 ![]() ![]() 發表:73 回覆:80 積分:30 註冊:2004-12-14 發送簡訊給我 |
我是要做繪圖用...這個function只是填記憶體用..根據傳進去的BYTE.來填資料...
再依照我另一個繪圖function根據記憶體內容畫出.. 目前我是用array來存放資料..再根據array資料畫出來.. 不過我目前格式又有變動了.. 根據上面的敘述.但擺放資料的方式改變. 上述是水平擺放資料.也就是D7~D0. 現在擺放改為垂直.如下圖所示. 垂直共有8格.代表一個BYTE. 圖中共有8*8格 也就是共需要8個BYTE來存放資料 <input type="image" src="http://pireer6705.myweb.hinet.net/0101_2.JPG" /></font> 如果以英文字A來表示.. A的資料為 0x10 0x28 0x44 0x44 0x7c 0x44 0xee 0x00 但這是水平方式..改為垂直後.顯示一樣但原先水平存放陣列要改為垂直.如下 原先方式. 0x10 D7~D0 array[0] 0x28 D15~D8 array[1] 0x44 0x44 0x7c 0x44 0xee 0x00 現在 D0 D8 0 0 01 0000 = 0x10 0 0 10 1000 = 0x28 0 1 00 0100 = 0x44 0 1 00 0100 . . D7 D15 所以D0~D7是放陣列0位址..D8~D15放陣列1...依此類推... 請前輩們指點 |
暗黑破壞神
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |