winnie 发表于 2009-3-28 17:59:38

下面的HT-PICC的程序 用CCS 怎样才可以做到

下面的HT-PICC的程序 用CCS 怎样才可以做到 不用指针 访问数组,随意输出数组中某个元素
const char TABLE_1[]={1,2,4,8,16,32,64,128};
const char TABLE_2[]={1,2,4,8,16,32,64,128};
void getString_Output(const char *String )
{char i,j;
i=String
}
MAIN()
{
getString_Output( &TABLE_1 );
getString_Output( &TABLE_2 );
}

winnie 发表于 2009-3-28 17:59:50

簡單解決,根本不需要指針

#include <16F877A.H>

const char TABLE_1[]={1,2,4,8,16,32,64,128};
      int8 TABLE_2[]={1,2,4,8,16,32,64,128};

void main()
{
   int8 i,j,k;

   k = 5;
   i = TABLE_1;// 管它是不是常數,語法都相同
   j = TABLE_2;

   while(1);
}


不要迷戀指針!也不需要調用函數, CCS 會幫你搞定的,會讓你有更簡潔的程序

....................    k = 5;
*
002B:MOVLW05
002C:MOVWFk
....................    i = TABLE_1;
002D:MOVF   k,W
002E:CALL   @const27 <--- CCS 會幫你搞出一個函數
002F:MOVWF@78
0030:MOVWFi
....................    j = TABLE_2;
0031:MOVLWTABLE_2
0032:ADDWFk,W
0033:MOVWFFSR
0034:MOVF   INDF,W
0035:MOVWFj
....................
页: [1]
查看完整版本: 下面的HT-PICC的程序 用CCS 怎样才可以做到