Avr 错误:预期为'='''''';asm&x27;或'__属性';在'之前;ProgDB';

Avr 错误:预期为'='''''';asm&x27;或'__属性';在'之前;ProgDB';,avr,atmega,avr-gcc,Avr,Atmega,Avr Gcc,我在编译时遇到此错误,但找不到问题所在 ../DB.c:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'PatKarten' 下面是一些代码: const uint8_t PatKarten[29][16] PROGMEM = { // 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |

我在编译时遇到此错误,但找不到问题所在

../DB.c:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'PatKarten'
下面是一些代码:

    const uint8_t PatKarten[29][16] PROGMEM =
    {
//  01  |  02  |  03  |  04  |  05  |   06  |  07  |  08  |  09  |  10  |  11  |  12  |  13  |   14  |  15  |  16  |  
                                                          //0xd3                                                
{   65  ,  66  ,   1  ,   2  ,   3  ,   4  ,   5  ,  6   , 0xdd ,   7  ,   0  ,   0  ,   0   ,   0  ,   0  ,   0  },        // Karte Nr. 01  
{   65  ,  66  ,   7  ,   2  ,   3  ,   4  ,   5  ,  6   ,   1  , 0xd8 ,   0  ,   0  ,   0   ,   0  ,   0  ,   0  },        // Karte Nr. 02
{   65  ,  66  ,   1  ,   8  ,   9  ,  10  ,  11  ,  12  , 0xd1 ,   0  ,   0  ,   0  ,   0   ,   0  ,   0  ,   0  },        // Karte Nr. 03
{   65  ,  66  ,  13  ,  14  ,  15  ,  16  ,   9  ,  13  ,   14 ,   0  ,   0  ,   0  ,   0   ,   0  ,   0  ,   0  },        // Karte Nr. 04
{   65  ,  66  ,   1  ,   7  ,   9  ,  17  ,  12  ,  18  ,   19 ,  17  ,  18  ,   0  ,   0   ,   0  ,   0  ,   0  },        // Karte Nr. 05
{   65  ,  66  ,   1  ,  12  ,   9  ,  20  ,   1  ,  20  ,   0  ,   0  ,   0  ,   0  ,   0   ,   0  ,   0  ,   0  },        // Karte Nr. 06
{   65  ,  66  ,   1  ,  21  ,   7  ,  22  ,  21  ,   7  ,   8  ,  23  , 0xfc ,   7  ,  23   ,   0  ,   0  ,   0  },        // Karte Nr. 07
{   65  ,  66  ,   1  ,  24  ,  20  ,  25  ,  22  ,  17  ,  23  ,  26  ,   5  ,  27  ,  21   ,  10  ,  25  ,   0  },        // Karte Nr. 08    
{   65  ,  66  ,  25  ,  20  ,  21  ,  17  ,  28  ,  29  ,  30  ,   0  ,   0  ,   0  ,   0   ,   0  ,   0  ,   0  },        // Karte Nr. 09 
{   31  ,  32  ,  33  ,  34  ,  35  , 0xc8 ,   0  , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0e0 , 0x00 , 0x00 ,   0  },        // Karte Nr. 10
{   64  ,  36  ,  37  ,  38  ,  39  , 0xbc ,   0  ,   0  ,  69  ,  70  ,  71  ,  72  ,  73   ,  74  ,  75  ,   0  },        // Karte Nr. 11
{   64  ,  40  ,  41  ,  42  ,  43  ,  44  ,  45  ,  46  ,  47  ,  48  ,  49  ,  50  ,  51   , 0xf4 ,   0  ,   0  },        // Karte Nr. 12 
{   64  ,  52  ,  53  ,  54  ,  55  ,  56  ,  57  ,  58  ,  59  ,  60  ,  61  ,  62  ,  63   , 0xfd , 0x00 , 0x00 },        // Karte Nr. 13  
{   64  ,  39  ,  46  ,  36  ,  48  ,  55  ,  61  ,  62  ,  33  ,  57  ,  38  ,  63  , 0x50  , 0xff , 0x00 , 0x00 },        // Karte Nr. 14
{  0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 15
{  0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 16
{    0  ,  33  ,  34  ,  35  ,  36  ,  37  ,  38  ,  39  ,  40  ,  41  ,  42  ,  43  ,  44   ,  45  , 0x00 , 0x00 },        // Karte Nr. 17
{    0  ,  48  ,  49  ,  50  ,  51  ,  53  ,  54  ,  55  ,  56  , 0xef , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 18
{    0  ,  69  ,  70  ,  71  ,  58  , 0xbf , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 19
{    0  ,   7  ,  21  ,  32  ,  42  ,  53  ,  60  , 0xef , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 20
{    0  ,  47  ,  48  ,  55  ,  57  ,  40  ,  55  , 0xef , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 21                
{    0  ,  65  ,  18  ,  49  ,  52  , 0xaa , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 22
{    0  ,   8  ,  32  ,  50  ,  54  , 0xbf , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 23
{    0  ,  57  ,  58  ,  15  ,  51  ,  56  ,  59  , 0xef , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 24
{  0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 25
{  0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 26
{  0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 27
{  0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 },        // Karte Nr. 28
{  0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00  , 0x00 , 0x00 , 0x00 }     // Karte Nr. 29      

};
在其他线程中,我只看到缺少分号,但我想我不需要任何分号

我正在Atmega 8535上使用AVRStudio 4、AVR-GCC 4.3.3进行编程


谢谢你的帮助:)

我想你是这样做的
#包括了
。。。否则,实际误差可能(长)在第14行之前。。。查找缺少
,;},但也用于缺少的
#endif
我在主c模块中包含了。此代码短语来自另一个c模块,我在此处复制的行是出现错误时此模块中的第一行。我是Atmel编程和AVR工作室的新手。因此,我将采纳您的建议并证明代码。其他问题:为什么在标题中写“ProgDB”,而错误消息指向“PatKarten”?这是否重要/相关?您必须在每个使用
uint8\t
的模块中包含
。在
uint8\t
之后,代码似乎会出错,因此这可能是您的问题。但正如@MikeD所说,这个错误可能是你在提问中没有表现出来的其他错误。编译器会尽可能地考虑语法的多种可能性,有时甚至会在放弃之前走得很远。在我将
#include
包含在这个c文件中后,错误就会消失。但是现在我又犯了一些错误。我不知道先行者在这里做了什么--