#include <reg51.h> #include <stdio.h>
//unsigned char code *workState[] = {"工作正常…… ", // "等待关机…… ", // "可以关机。 "}; unsigned char code *workState[] = {"Follow me", "how are you", "telephone to me"};
//然后提示有错误:
//CCS812.C(20): error C243: 'array[]': string out of bounds
//这是为什么呢?
//在程序中我是这样使用的: //unsingned char string[]; //string[]=workState[1]; //…… //是否是我的调用有问题???还请各位大侠多多帮忙~~~~谢谢先~~~~
void main(void) { unsigned char *ptrCurrent; unsigned char TestOneChar; SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */ TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */ TH1 = 221; /* TH1: reload value for 1200 baud @ 16MHz */ TR1 = 1; /* TR1: timer 1 run */ TI = 1; /* TI: set TI to send first char of UART */
while(1) { ptrCurrent = workState[0]; printf(ptrCurrent); printf("\n"); ptrCurrent = workState[1]; TestOneChar = ptrCurrent[1]; TestOneChar = ptrCurrent[2]; TestOneChar = ptrCurrent[3];
printf(ptrCurrent); printf("\n"); ptrCurrent = workState[2]; printf(ptrCurrent); printf("\n"); } }
|