|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
控制ZLG7290的問(wèn)題:) |
| 作者:malaohu 欄目:MCU技術(shù) |
我想通過(guò)寄存器影像方式控制ZLG7290完成8位數(shù)碼管全顯并閃爍。其實(shí)就是I2C接口試驗(yàn)2的第一步。我寫(xiě)了如下程序: int main(void) { uint8 b; uint8 *a; b = 0x88 ; a = &b; PINSEL0 = 0x00000000; // 設(shè)置管腳連接,使用I2C口 PINSEL1 = 0x00000000; I2C_Init(30000); // I2C配置及端口初始化 ISendStr(0x70, 0x0c, a, 1); } 先別說(shuō)這個(gè)程序能否實(shí)現(xiàn)閃爍功能,調(diào)試時(shí)發(fā)現(xiàn),運(yùn)行過(guò)b = 0x88 ; a = &b;后b不等于0x88,a=??,這是怎么回事? 我向ZLG7290的0x0c寫(xiě)入0x88可以實(shí)現(xiàn)8位全閃么? |
| 2樓: | >>參與討論 |
| 作者: LPC900 于 2007/4/29 15:42:00 發(fā)布:
“a = &b”這條語(yǔ)句有問(wèn)題吧? 是否應(yīng)該為“a &= b”呢? * - 本貼最后修改時(shí)間:2007-4-29 15:43:43 修改者:LPC900 |
|
| 3樓: | >>參與討論 |
| 作者: LPC900 于 2007/4/29 15:54:00 發(fā)布:
可以留個(gè)E-mail嗎? 我可以把完整的ZLG7290參考資料發(fā)給你。 |
|
| 4樓: | >>參與討論 |
| 作者: zxq1234508 于 2007/4/29 16:13:00 發(fā)布:
問(wèn)題 a = &b;這句有問(wèn)題。 b = 0x88 ;控制數(shù)碼管閃爍應(yīng)該是0Xff; 閃爍控制寄存器FlashOnOff(地址:0CH) FlashOnOff 寄存器決定閃爍頻率和占空比。復(fù)位值為0111,0111B。高4 位表示閃爍時(shí)亮的持續(xù)時(shí)間,低4 位表示閃爍時(shí)滅的持續(xù)時(shí)間。改變FlashOnOff 的值,可以同時(shí)改變閃爍頻率和占空比。FlashOnOff 取值00H 時(shí)可獲得最快的閃爍速度,在4MHZ 下,亮或滅的持續(xù)時(shí)間最小單位約為280ms。特別說(shuō)明:?jiǎn)为?dú)設(shè)置FlashOnOff 寄存器的值,并不會(huì)看到顯示閃爍,而應(yīng)該配合閃爍控制命令。寄存器CmdBuf0(地址:07H)和CmdBuf1(地址:08H)共同組成命令緩沖區(qū)。 寄存器CmdBuf0(地址:07H)和CmdBuf1(地址:08H)共同組成命令緩沖區(qū)。通過(guò)向命令緩沖區(qū)寫(xiě)入相關(guān)的控制命令可以實(shí)現(xiàn)段尋址、下載顯示數(shù)據(jù)、控制閃爍等功能。07H=0X70,08H=0XFF。就可以實(shí)現(xiàn)八位全閃爍。 |
|
| 5樓: | >>參與討論 |
| 作者: malaohu 于 2007/4/30 9:27:00 發(fā)布:
謝謝樓上2位大蝦 to LPC900: 謝謝:)資料我已經(jīng)找到。 to zxq1234508: 特別說(shuō)明:?jiǎn)为?dú)設(shè)置FlashOnOff 寄存器的值,并不會(huì)看到顯示閃爍,而應(yīng)該配合閃爍控制命令。寄存器CmdBuf0(地址:07H)和CmdBuf1(地址:08H)共同組成命令緩沖區(qū)。這樣我就清楚了:) 那這么說(shuō)來(lái),影響寄存器控制豈不如同虛設(shè)了。 調(diào)試時(shí)發(fā)現(xiàn),運(yùn)行過(guò)b = 0x88 ; a = &b;后b不等于0x88,a=??,這是怎么回事?是不是程序有問(wèn)題,還是要用什么volatile? |
|
| 6樓: | >>參與討論 |
| 作者: zxq1234508 于 2007/4/30 10:02:00 發(fā)布:
改變FlashOnOff 的值,可以同時(shí)改變閃爍頻率和占空比。 改變FlashOnOff 的值,可以同時(shí)改變閃爍頻率和占空比。也就是說(shuō)可以改變數(shù)碼管亮度。而CmdBuf0(地址:07H)和CmdBuf1(地址:08H)是決定數(shù)碼管是否閃爍。簡(jiǎn)而言之,F(xiàn)lashOnOff 控制數(shù)碼管亮度,CmdBuf0(地址:07H)和CmdBuf1(地址:08H)控制數(shù)碼管是否閃爍。另外,不知道你為什么要搞成a = &b;直接uint a;a=0xff;不就可以了。窟用什么指針。 |
|
| 7樓: | >>參與討論 |
| 作者: malaohu 于 2007/5/4 10:46:00 發(fā)布:
a=0xff,a對(duì)應(yīng)的是地址么? 這樣a對(duì)應(yīng)的是常量啊,不是地址吧。編譯時(shí)不行吧 |
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |