|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
一個算法問題,哪位大俠能解? |
| 作者:艾森豪威爾 欄目:單片機(jī) |
現(xiàn)有一24*24點陣的字模數(shù)據(jù),放在以二維數(shù)組中。 數(shù)組定義為: CHAR dot_data[24][3]= { {a0_0,a0_1,a0_2}, {a1_0,a1_1,a2_2}, {a2_0,a2_1,a2_2}, . . . {a23_0,a23_1,a23_2} }; 這個點陣數(shù)據(jù)如果直接送到LCD是正常顯示的24*24點陣漢字, 現(xiàn)在我想把這個字逆時針旋轉(zhuǎn)90度顯示在液晶屏上, 這個數(shù)組應(yīng)該怎樣轉(zhuǎn)換? 各位大蝦試一下,搞定的把結(jié)果告訴小弟。謝謝! |
| 2樓: | >>參與討論 |
| 作者: mugenwon 于 2005/12/30 16:26:00 發(fā)布:
:> 首先這個是24*3的數(shù)組,怎么你又說24*24呢?這樣一轉(zhuǎn)就變形了。 假如是24*24的數(shù)組,一個數(shù)組代表一個字,那么我覺得是這樣: 原來的數(shù)組內(nèi)的數(shù)可以表示為a(x,y),x代表行,y代表列,都是從0到23,用m代表一行或一列的數(shù)目(這里m=24),那么新的數(shù)組是這樣的: a(y,m-x-1). 也就是說: a(0,23),a(1,23),a(2,23)......a(22,23),a(23,23) a(0,22),a(1,22),a(2,22)......a(22,22),a(23,22) ......... a(0,0), a(1,0), a(2,0)...... a(22,0), a(23,0) 沒錯吧?例如第一行第一個,x=0,y=0,就是a(0,23) 第3行第5個,x=2,y=4,就是a(4,19) 假如一定是24*3的話,那就變成3*24了,結(jié)果一樣 至于程序怎么樣就自己計算了。 |
|
| 3樓: | >>參與討論 |
| 作者: xf.zhu 于 2005/12/30 21:30:00 發(fā)布:
這個我做過! |
|
| 4樓: | >>參與討論 |
| 作者: freego 于 2005/12/30 22:21:00 發(fā)布:
實際上就是按列取點 建議你開一個24字節(jié)的緩沖區(qū),依次讀入a23_0 至a0_0 (第一列)24個數(shù)據(jù),對每個數(shù)據(jù)進(jìn)行左移一位再將進(jìn)位位左移至ACC,移8個后顯示。該方法速度較快。 建議你看一下打印頭的驅(qū)動程序。 |
|
| 5樓: | >>參與討論 |
| 作者: 艾森豪威爾 于 2005/12/31 10:33:00 發(fā)布:
我已經(jīng)搞出來了 多謝各位! 24*24是指位數(shù) 24*3是指字節(jié)數(shù) |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |