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文件中后,错误就会消失。但是现在我又犯了一些错误。我不知道先行者在这里做了什么--