c - 使用指针和数组调试程序

标签 c

请帮助解决这个问题,我在这里遇到的错误是“{”附近的语法 因为我在 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/

相关文章:

c - 为什么使用fork系统调用时会打印很多PID?

c - 递归二分查找无法正常工作

c - BIOS显存交互位置计算奇怪

C 字符串行为和 atoi 函数

c - C中字符串的内存分配将在哪里进行

c - 编译 C 库时的警告

c - 如何从数组中打印出指针指向的值

c++ - C++读写二进制文件

c - 运行一次调节的宏

c - 如何在 C 中正确链接以阻止符号被剥离?