全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1036
推到 Plurk!
推到 Facebook!

語法問題

缺席
Jash
一般會員


發表:2
回覆:7
積分:1
註冊:2003-08-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-29 14:07:04 IP:210.68.xxx.xxx 未訂閱
謝謝剛剛的第一各問題已經有了答案了 不過第二各問題我現在詳細一點說 我是想將資料寫入OLED的面板中 因為之前都是用組合語言寫的 對C並不是很熟析 所以請教大家
for ( k=0xb0 ; k<0xb8 ; k   )
  {
    SetLowerColumnAddress ( 0x00 );
    SetHigherColumnAddress ( 0x10 );
    SetPageAddress ( k );
      for (j=0 ; j<132 ; j  )
      {
        WriteData( 0x00 );
      }
}
現在我想將WriteData裡面的資料寫入下列的TABLE 那應該如何寫呢
code text[12][8]={
        {0x3E,0x51,0x49,0x45,0x3E,0x00,0x00,0x00},
         {0x00,0x42,0x7f,0x40,0x00,0x00,0x00,0x00},
        {0x42,0x61,0x51,0x49,0x46,0x00,0x00,0x00},
        {0x22,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x18,0x14,0x12,0x3F,0x10,0x00,0x00,0x00},
        {0x27,0x45,0x45,0x45,0x39,0x00,0x00,0x00},
        {0x3E,0x49,0x49,0x49,0x32,0x00,0x00,0x00},
        {0x01,0x01,0x71,0x0D,0x03,0x00,0x00,0x00},
        {0x36,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x26,0x49,0x49,0x49,0x3E,0x00,0x00,0x00},
        {0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff},
         {0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}
那請問要如何修改呢
handystudio
高階會員


發表:1
回覆:81
積分:106
註冊:2005-03-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-29 14:22:16 IP:211.22.xxx.xxx 未訂閱
引言: 謝謝剛剛的第一各問題已經有了答案了 不過第二各問題我現在詳細一點說 我是想將資料寫入OLED的面板中 因為之前都是用組合語言寫的 對C並不是很熟析 所以請教大家
for ( k=0xb0 ; k<0xb8 ; k   )
  {
    SetLowerColumnAddress ( 0x00 );
    SetHigherColumnAddress ( 0x10 );
    SetPageAddress ( k );
      for (j=0 ; j<132 ; j  )
      {
        WriteData( 0x00 );
      }
}
現在我想將WriteData裡面的資料寫入下列的TABLE 那應該如何寫呢
code text[12][8]={
        {0x3E,0x51,0x49,0x45,0x3E,0x00,0x00,0x00},
         {0x00,0x42,0x7f,0x40,0x00,0x00,0x00,0x00},
        {0x42,0x61,0x51,0x49,0x46,0x00,0x00,0x00},
        {0x22,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x18,0x14,0x12,0x3F,0x10,0x00,0x00,0x00},
        {0x27,0x45,0x45,0x45,0x39,0x00,0x00,0x00},
        {0x3E,0x49,0x49,0x49,0x32,0x00,0x00,0x00},
        {0x01,0x01,0x71,0x0D,0x03,0x00,0x00,0x00},
        {0x36,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x26,0x49,0x49,0x49,0x3E,0x00,0x00,0x00},
        {0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff},
         {0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}
那請問要如何修改呢
你資料寫入的順序是 text[0][0]->text[0][1]->text[0][2]....? 還是text[0][0]->text[1][0]->text[2][0]....? 歡迎參觀輕巧工作室 http://handy.myweb.hinet.net
------
歡迎光臨 輕巧工作室
網站 http://www.handystudio.tw
控制電路板客製設計、製作交貨
8051專題製作/專題客製
Jash
一般會員


發表:2
回覆:7
積分:1
註冊:2003-08-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-29 15:10:42 IP:210.68.xxx.xxx 未訂閱
資料寫入的順序是 text[0][0]->text[0][1]->text[0][2]....?
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-29 15:53:17 IP:61.66.xxx.xxx 未訂閱
        for (j=0;j<96;j  )
        {
                WriteData(text[j>>3][j&7]);
        }
 
------------------- 美好的事物 稍縱即逝 發表人 - 阿信 於 2005/04/29 16:15:29
Jash
一般會員


發表:2
回覆:7
積分:1
註冊:2003-08-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-29 16:09:49 IP:210.68.xxx.xxx 未訂閱
還是不太清楚ㄟ 那我的code text 那邊的Table要怎麼定義 可以詳細一點解說嗎

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-29 17:49:45 IP:211.22.xxx.xxx 未訂閱
for (j=0;j<12;j  )
{
  for(i=0;i<8;i  )
  {
        WriteData(text[j][i]);
  }
}
這樣也可以
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-29 18:08:13 IP:61.66.xxx.xxx 未訂閱
你的大括號多了一個 後面加分號    
code text[12][8]=
        {0x3E,0x51,0x49,0x45,0x3E,0x00,0x00,0x00},
        {0x00,0x42,0x7f,0x40,0x00,0x00,0x00,0x00},
        {0x42,0x61,0x51,0x49,0x46,0x00,0x00,0x00},
        {0x22,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x18,0x14,0x12,0x3F,0x10,0x00,0x00,0x00},
        {0x27,0x45,0x45,0x45,0x39,0x00,0x00,0x00},
        {0x3E,0x49,0x49,0x49,0x32,0x00,0x00,0x00},
        {0x01,0x01,0x71,0x0D,0x03,0x00,0x00,0x00},
        {0x36,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x26,0x49,0x49,0x49,0x3E,0x00,0x00,0x00},
        {0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff},
        {0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
>> 表示資料右移 同組語 SHL ,>>3表示除8 & 表示AND 同組語 AND ,&7 取低3位元 ------------------- 美好的事物 稍縱即逝 發表人 - 阿信 於 2005/04/29 18:10:23
handystudio
高階會員


發表:1
回覆:81
積分:106
註冊:2005-03-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-04-29 19:30:24 IP:211.22.xxx.xxx 未訂閱
引言: 謝謝剛剛的第一各問題已經有了答案了 不過第二各問題我現在詳細一點說 我是想將資料寫入OLED的面板中 因為之前都是用組合語言寫的 對C並不是很熟析 所以請教大家
for ( k=0xb0 ; k<0xb8 ; k   )
  {
    SetLowerColumnAddress ( 0x00 );
    SetHigherColumnAddress ( 0x10 );
    SetPageAddress ( k );
      for (j=0 ; j<132 ; j  )
      {
        WriteData( 0x00 );
      }
}
現在我想將WriteData裡面的資料寫入下列的TABLE 那應該如何寫呢
code text[12][8]={
        {0x3E,0x51,0x49,0x45,0x3E,0x00,0x00,0x00},
         {0x00,0x42,0x7f,0x40,0x00,0x00,0x00,0x00},
        {0x42,0x61,0x51,0x49,0x46,0x00,0x00,0x00},
        {0x22,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x18,0x14,0x12,0x3F,0x10,0x00,0x00,0x00},
        {0x27,0x45,0x45,0x45,0x39,0x00,0x00,0x00},
        {0x3E,0x49,0x49,0x49,0x32,0x00,0x00,0x00},
        {0x01,0x01,0x71,0x0D,0x03,0x00,0x00,0x00},
        {0x36,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x26,0x49,0x49,0x49,0x3E,0x00,0x00,0x00},
        {0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff},
         {0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}
那請問要如何修改呢
依你的程式迴路來看,是要對某特定的介面,寫入具有特定順序的資料,但你的text[][]資料排列方式卻與你的程式迴路不符,程式迴路來看應該是text[8][131]的資料矩陣,而不是text[12][8]的資料矩陣,你列出的text[a][b]是指:有a個page,每個page一次寫入8 byte資料,而問程式迴路怎麼寫嗎? 歡迎參觀輕巧工作室 http://handy.myweb.hinet.net
------
歡迎光臨 輕巧工作室
網站 http://www.handystudio.tw
控制電路板客製設計、製作交貨
8051專題製作/專題客製
Jash
一般會員


發表:2
回覆:7
積分:1
註冊:2003-08-11

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-05-03 09:01:08 IP:210.68.xxx.xxx 未訂閱
在請教我的資料中的TABLE 要怎麼定義呢 因為現在COMPLIER後會出現ERROR ERROR的Message是 'test' undefined identifier的message 我要如何定義呢
handystudio
高階會員


發表:1
回覆:81
積分:106
註冊:2005-03-26

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-05-03 09:59:57 IP:211.22.xxx.xxx 未訂閱
引言: 在請教我的資料中的TABLE 要怎麼定義呢 因為現在COMPLIER後會出現ERROR ERROR的Message是 'test' undefined identifier的message 我要如何定義呢
code text[12][8]= {
        {0x3E,0x51,0x49,0x45,0x3E,0x00,0x00,0x00},
        {0x00,0x42,0x7f,0x40,0x00,0x00,0x00,0x00},
        {0x42,0x61,0x51,0x49,0x46,0x00,0x00,0x00},
        {0x22,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x18,0x14,0x12,0x3F,0x10,0x00,0x00,0x00},
        {0x27,0x45,0x45,0x45,0x39,0x00,0x00,0x00},
        {0x3E,0x49,0x49,0x49,0x32,0x00,0x00,0x00},
        {0x01,0x01,0x71,0x0D,0x03,0x00,0x00,0x00},
        {0x36,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x26,0x49,0x49,0x49,0x3E,0x00,0x00,0x00},
        {0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff},
        {0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}
        };
最後加大括弧及分號. PS : 你的table 是名稱是 text, 不是 test. 歡迎參觀輕巧工作室 http://handy.myweb.hinet.net
------
歡迎光臨 輕巧工作室
網站 http://www.handystudio.tw
控制電路板客製設計、製作交貨
8051專題製作/專題客製
Jash
一般會員


發表:2
回覆:7
積分:1
註冊:2003-08-11

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-05-03 10:39:59 IP:210.68.xxx.xxx 未訂閱
我試過了 但是還是出現相同的ERROR MESSAGE 還是我漏了什麼東西嗎 要宣告TEXT的資料嗎 還是其他的呢
Jash
一般會員


發表:2
回覆:7
積分:1
註冊:2003-08-11

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-05-03 10:55:57 IP:210.68.xxx.xxx 未訂閱
我在程式中加入了
extern code text[12][8];
會出現其他的問題 出現ERRPR MESSAGE是 Multiple Public Definitions Symbol:K 這是什麼原因呢??
// include files           
        #include        "REG54.h"
        #include        "intrins.h"
        #include        "global.h"
        #include        "define.h"
        #include        "stdio.h"
        // include base function
        #include        "WriteData.h"
        #include        "WriteCommand.h"
        //#include        "ReadStatus.h"
        #include        "InstructionCode.h"
        #include        "Initial.h"
        //#include        "Demo.h"
        //#include        "Test.h"
        //#include        "Power.h"
        //#include        "database.h"            #define page0   0xb0
    #define page1   0xb1
    #define page2   0xb2
    #define page3   0xb3
    #define page4   0xb4
    #define page5   0xb5
    #define page6   0xb6
    #define page7   0xb7
        /*--------Horization scroll seetup-------*/        #define     PerColumn   0x01
    #define     StartPage   0x02
    #define     Fram        0x00
    #define     EndPage     0x07
        #define                Dvalue                0xaa
        extern code text[12][8];
    
    int        i;
        int k;
        int j;
        
void main ( void )
{                // start code                                    
                Initial();                            TMOD =        0X01;
        
        DisplayOn();
        EntireDisplayOn();
        delayms(1000);
        EntireDisplayOff();
        /*
        for ( k=0xb0 ; k<0xb8 ; k   )
                {
                        SetLowerColumnAddress ( 0x00 );
                        SetHigherColumnAddress ( 0x10 );
                        SetPageAddress ( k );
                            for (j=0 ; j<132 ; j  )
                                    {
                                            WriteData( 0x00 );
                                    }
                }
        */
        for ( k=0xb0 ; k<0xb8 ; k   )
                {
                SetLowerColumnAddress ( 0x00 );
                        SetHigherColumnAddress ( 0x10 );
                SetPageAddress ( k );
                            for (j=0 ; j<132 ; j  )
                                    {
                                            WriteData ( ((j&1) ? 0x55:0xaa) );
                                                }
                }
        
        SetHorizontalScrollSetup(0x03,0x00,0x04,0x3f);
        ActivateHorizontalScroll();
        delayms(10000);
        DeactivateHorizontalScroll();
        for ( k=0xb0 ; k<0xb8 ; k   )
                {
                SetLowerColumnAddress ( 0x00 );
                        SetHigherColumnAddress ( 0x10 );
                SetPageAddress ( k );
                    for (j=0;j<12;j  )
                                        {
                                                  for(i=0;i<8;i  )
                                                          {
                                                                WriteData( text[j][i] );
                                                          }
                                        }                    }
                }            code text[12][8]= {
        {0x3E,0x51,0x49,0x45,0x3E,0x00,0x00,0x00},
        {0x00,0x42,0x7f,0x40,0x00,0x00,0x00,0x00},
        {0x42,0x61,0x51,0x49,0x46,0x00,0x00,0x00},
        {0x22,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x18,0x14,0x12,0x3F,0x10,0x00,0x00,0x00},
        {0x27,0x45,0x45,0x45,0x39,0x00,0x00,0x00},
        {0x3E,0x49,0x49,0x49,0x32,0x00,0x00,0x00},
        {0x01,0x01,0x71,0x0D,0x03,0x00,0x00,0x00},
        {0x36,0x49,0x49,0x49,0x36,0x00,0x00,0x00},
        {0x26,0x49,0x49,0x49,0x3E,0x00,0x00,0x00},
        {0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff},
        {0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}
        };
這是我原始的程式 謝謝大家的幫忙

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-05-04 10:26:44 IP:211.22.xxx.xxx 未訂閱
你的K使用了兩次,在2個for迴圈中. 一個迴圈的變數改掉就ok了
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
系統時間:2024-05-05 13:08:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!