请帮助解决这个问题,我在这里遇到的错误是“{”附近的语法 因为我在 DAC_table 附近声明了 unsigned char 我收到了一个错误,所以在函数外部定义是错误的...我没有在这里发布我的完整代码...在这部分代码中我遇到了问题..
unsigned char DAC_table[16];
unsigned char *ptr2tbl;
void fnSelectVoltage(void)
{
line_display(1, "Volt Sel");
sprintf(line_buf," %d V",(unsigned int)*ptr2tbl);
line_display(2, line_buf);
DAC_table[16] = ( 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F);
*ptr2tbl = &DAC_table;
while (START_KEY)
{
if (!UP_KEY)
{
wait_for_any_key_counter_0 = 0;
for (i = 0; i<15; i++)
{
P2 = *ptr2tbl++;
// delay_ms(1000);
}
}
else if(!DOWN_KEY)
{
wait_for_any_key_counter_0 = 0;
for (i = 0; i<15; i++)
{
P2 = *ptr2tbl++;
// delay_ms(1000);
}
}
}
}
最佳答案
unsigned char DAC_table[16];// u hv created a global array here
要为其赋值,
DAC_table[0] = 0x00;
DAC_table[1] = 0x01; and so on.
或者更好
unsigned char DAC_table[16] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F}; at the line of declaration.
除了声明行之外,您不能为文件范围内的变量赋值。
关于c - 使用指针和数组调试程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16076743/