下面的变量type本来是在函数里边的可是发现不能修改它的值导致了赋值不成功。后来发现把它提函数外边就好了不知道怎么回事。类似的问题以前也碰到过不知道怎么回事反正就是把它提到函数外边就能用了。我用的是codewarrior4.6 for hcs12 芯片是dg128. byte type;//类型标示用来区分通信接口是can还是串口。0为串口,1can? byte Rec(byte a[156]) { int i; byte sta; dword s; /*存储地址*/ maddr PAddress; // byte ad; byte *p; /*临时指针*/ byte a8; //word p=a; if ( Next_Addr==(dword)NULL ) {/*需解析的模块文件*/ type=0; if ( *(p+1)=='1' ) {//S1类型 FCNFG_BKSEL=0; PAddress.paddr.ppage=0; PAddress.paddr.addrh=Hex2Dec(p, 4); PAddress.paddr.addrl=Hex2Dec(p, 6); s=(word)PAddress.aaddr; if (0xff80<=s<=0xffff ) { s=s-0x8000; } p=p+8;
|