最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(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

基于Easy_Arm開發(fā)板的按鍵輸入液晶顯示主程序

作者:mountain25 欄目:ARM技術(shù)
基于Easy_Arm開發(fā)板的按鍵輸入液晶顯示主程序
int  main(void)
{  
   uint8  key;
   PINSEL1 = 0x00000000;            
   IO1DIR = LCM_LEDCON;
   IO1SET = LCM_LEDCON;
       
   GUI_Initialize();        // 初始化LCM
   GUI_SetColor(1, 0);             // 設(shè)置前景色及背景色


   PINSEL0 = 0x00000000;        // 設(shè)置管腳連接,使用I2C口
   PINSEL1 = 0x00000000;            
   I2C_Init(30000);                 // I2C配置及端口初始化
   

   /* 讀取按鍵,并顯示 */
while(1)
   {  DelayNS(1);
      key = 0;   
      key = WaitKey();    
      SWITCH(key)
      {  case  1:
                GUI_PutString(180,10,"1");
               break;        
      
         case  2:
               GUI_PutString(180,25,"2");        
               break;
         
         case  3:
               GUI_PutString(180,40,"3");
               break;
         
         case  4:
               GUI_PutString(180,55,"4");
               break;
               
        default:
               break;
      }
   }
    return(0);
}
   這段程序想實(shí)現(xiàn),從鍵盤輸入字符,在液晶上顯示,用到的子函數(shù)都是實(shí)驗(yàn)板實(shí)驗(yàn)程序中自帶的,程序編譯的時候沒有錯誤,但就是得不到所要的效果,肯請大俠們幫忙看看,問題出在哪里,小弟謝了先!

2樓: >>參與討論
astonzorro
給你修改下!你的邏輯有問題
while(1)
{
    while(!( (key==1) ||  (key==2) || (key==3) || (key==4 ) ) )
    {
         key = WaitKey();
    }
    SWITCH(key)
    {;//自己加代碼
    }
}

這樣就行了!你的邏輯有問題!

* - 本貼最后修改時間:2006-7-30 11:21:55 修改者:astonzorro

3樓: >>參與討論
mountain25
發(fā)現(xiàn)了問題在哪兒,就是不知道怎么解決:(
多謝astonzorro! 我單步執(zhí)行程序后,發(fā)現(xiàn)程序停留在 key = WaitKey();  這一句執(zhí)行不下去,跟蹤發(fā)現(xiàn)程序停留在下面的一個子函數(shù)里面:

/****************************************************************************
* 名稱:IRcvStr()
* 功能:向有子地址器件讀取多字節(jié)數(shù)據(jù)。
* 入口參數(shù):sla        器件地址 ╚
*          suba        器件子地址 ╚
*          s        數(shù)據(jù)接收緩沖區(qū)指針 ^3 ╚
*              no         讀取數(shù)據(jù)個數(shù)  ╚3
* 出口參數(shù):返回值為0時表示操作出錯,為1時表示操作正確。
* 說明:使用前要初始化好I2C引腳功能和I2C中斷,并已使能I2C主模式
****************************************************************************/
uint8  IRcvStr(uint8 sla, uint8 suba, uint8 *s, uint8 no)
{  if(0==no) return(0);
   
   /* 參數(shù)設(shè)置 */
   I2C_sla = sla+1;        // 讀操作的器件地址 ^3
   I2C_suba = suba;          ?
   I2C_buf = s;
   I2C_num = no;
   I2C_suba_en = 1;        // 有子地址讀 ^3
   I2C_end = 0;
   
   I2CONCLR = 0x2C;
   I2CONSET = 0x60;             // 設(shè)置為主機(jī),并啟動總線
   
   while(0==I2C_end);
   if(1==I2C_end) return(1);
     else return(0);
}

執(zhí)行到 while(0==I2C_end)  這一句就執(zhí)行不下去了,不知是何故?
我的QQ:306047500  ,搞了幾天,比較郁悶, 希望得到大俠們的指點(diǎn)!

4樓: >>參與討論
astonzorro
這是個IIC的總線程序,不是串口取KEY值的程序!
請?zhí)砑?自己的GETKEY程序!

5樓: >>參與討論
mountain25
還是有點(diǎn)困惑
謝謝!
實(shí)驗(yàn)程序的GETKEY子函數(shù)是這樣的:
/*********************************************************************************************************
** 函數(shù)名稱:     ZLG7290_GetKey
** 功能描述:     讀取鍵值
** 輸 入: 無
**         
** 輸 出: >0  鍵值
**        =0  無鍵按下
** 全局變量:    無
** 調(diào)用模塊:     IRcvStr、delayMS
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

unsigned CHAR    ZLG7290_GetKey(void)
{
    unsigned CHAR rece;
    
    rece=0;
    IRcvStr(ZLG7290,1,&rece,1);
    DelayMS(10);
    return rece;
}
   WaitKey()中就調(diào)用了它。在實(shí)驗(yàn)程序中可以用,為什么它在我的程序里就不好調(diào)用呢? 如果要改的話該如何改? 不好意思,還是比較困惑。


6樓: >>參與討論
astonzorro
不好調(diào)用是什么意思!是沒有值嗎??仿真測試下!
 
7樓: >>參與討論
xixi
 IRcvStr這個函數(shù)是什么意思?
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
有沒有i2c的DA轉(zhuǎn)換模塊阿?
to 開發(fā)板之家:我不明白
請教一下ZLG,RDI仿真器能用到其他如ADI的ARM7上嗎?
對一個項目不同的文件分別使用ARM和Thumb指令編譯的方法:
請問一下RO Base,RW Base在實(shí)際運(yùn)用中,要如何設(shè)置?
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號