音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

我用的是帶字庫的LCD,,想這樣用,請問錯在哪里,怎么解決?

作者:lhzw2001 欄目:ARM技術
我用的是帶字庫的LCD,,想這樣用,請問錯在哪里,怎么解決?
我用的是帶字庫的LCD,,想這樣用,請問錯在哪里,怎么解決?


void sendtolcd (uchar dat_comm,uchar content)
{
  uchar stdbit;
  
  uchar a,i,j;
  delay (50);
  a=content;
  set_cs;         
  clr_sclk;       
  set_std;        
  for(i=0;i<5;i++)
  {
    set_sclk;     
    clr_sclk;     
  }
  clr_std;        
  set_sclk;       
  clr_sclk;        
  if(dat_comm)
    set_std;       
  else
    clr_std;       
  
  set_sclk;        
  clr_sclk;        
  
  clr_std;         
  set_sclk;        
  clr_sclk;        
  
  for(j=0;j<2;j++)
  {
    for(i=0;i<4;i++)
    {
      stdbit=a&0x80;
      
         if(stdbit==0x80)  
             set_std;
          else   
             clr_std;
      
      set_sclk;    
      clr_sclk;    
    
    a=a<<1;
    }
    
    clr_std;        
    for(i=0;i<4;i++)
    {
      set_sclk;     
      clr_sclk;
    }
  }
}



void write_one_word (uchar const *chn,uchar xx)
{

  sendtolcd (0,0x30);   
  sendtolcd (0,xx);
    for (i=0;i<2;i++)
        sendtolcd (1,chn[i]);

}
  

int main(void)
{
  write_one_word ("何",0);面   //??????????這里編譯不過去
}



Error   : C3028E: <argument 1 to 'write_one_word'>: implicit cast of pointer to non-equal pointer
main.c LINE 44   

F:\Mydesigns\ARMZLG\Project\main.c: 0 warnings, 1 error, 0 serious errors



2樓: >>參與討論
hotpower
這種程序沒法用
 
3樓: >>參與討論
lhzw2001
你是指write_one_word ("何",0);這樣是不行的是嗎?
write_one_word ("何",0);面   //??????????這里編譯不過去

4樓: >>參與討論
lhzw2001
有沒有什么好辦法解決呢,把漢字的內(nèi)碼值傳遞下去
 
5樓: >>參與討論
liwenz
你用的是什么lcd
我用的12864帶字庫的還可以,但是有點不穩(wěn)定

6樓: >>參與討論
lhzw2001
我也是,用的是ST7920的控制器!
那在ADS中這樣的寫法,write_one_word ("何",0);要怎么樣才能編譯呢?


void write_one_word (uchar const *chn,uchar xx) //這樣寫法,編譯不了
{
    for (i=0;i<2;i++)
        sendtolcd (1,chn[i]);

}
  


7樓: >>參與討論
liwenz
我用的也是,你可用全局變量
我的方法使用的全局變量
lcd用的串口方式

8樓: >>參與討論
hotpower
試試看
void write_one_word (uchar const *chn,uchar xx) //這樣寫法,編譯不了
{
    for (i=0;i<2;i++)
        sendtolcd (1,*(chn + i));

}


9樓: >>參與討論
lhzw2001
to hotpower: & to liwenz :
to hotpower:

         謝謝你,但此法仍然沒法編譯過去!
         
         void write_one_word (uchar const *chn,uchar xx)
           {     //即使是空函數(shù),也無法編譯   }

         我在一些ucgui的例子里有看到過這種寫法的,不知道為何,我就是 編譯不了,這些在C51中都可以很容易實現(xiàn)的!

to liwenz :
        
         我用的就是串口方式的,這個問題根用什么LCD無關,應該是編譯器的事,你也是用ADS來編譯的嗎?可否把你的寫法說說!

10樓: >>參與討論
liwenz
我用的也是ADS,因為我買的EasyARM2132
我的程序用在我的產(chǎn)品中的,給你相關的一部分,
void HzDisp(int8 xPos,uint8* str,int8 lenth)
{
    int i;
    LcdWriteByte(0xf8,0x80+xPos);
    for(i=0;i<lenth;i++)
    {
        if(str[i]==0)
            return;
        LcdWriteByte(0xfa,str[i]);
    }
    IO0CLR=SMGCS;
}

void HzkDisp(void)
{
    uint8 str0[]="少小離家老大回,";
    uint8 str1[]="鄉(xiāng)音不改鬢毛衰。";
    uint8 str2[]="兒童相見不相識,";
    uint8 str3[]="笑問客從何處來。";
    HzDisp(0,str0,16);
    HzDisp(16,str1,16);
    HzDisp(8,str2,16);
    HzDisp(24,str3,16);
}


11樓: >>參與討論
lhzw2001
呵,在一樓的帖子里就發(fā)了!
呵,在一樓的帖子里就發(fā)了!!
Error   : C3028E: <argument 1 to 'write_one_word'>: implicit cast of pointer to non-equal pointer
main.c LINE 44   

F:\Mydesigns\ARMZLG\Project\main.c: 0 warnings, 1 error, 0 serious errors




12樓: >>參與討論
computer00
這不寫得很清楚嘛,指針類型不符。
你將const去掉試試。

13樓: >>參與討論
lhzw2001
去掉也不行!




14樓: >>參與討論
computer00
那就把uCHAR的u去掉,改成CHAR…………
多試幾次不就知道了………………const再加回去試試…………

參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
用取模軟件弄出彩色液晶屏的字模。小小成績。
SmartARM2200中彩屏顯示圖片的點陣數(shù)據(jù)是什么軟件得到的?
KEIL環(huán)境下設置程序在RAM中調(diào)試運行詳解及相關例程
我為什么在串口中斷中調(diào)用isr_sem_send就出錯,其它中斷則行
我用ULINK在EASYARM2131上用不起來,請給我支持一下,急。
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號