Перейти к содержанию
    

Keil C51 + библиотеки FT800

Здравствуйте!

Есть ЖК-индикатор от Riverdi с контроллером FT812. Хотелось бы использовать их готовые библиотеки для работы с индикатором. Но в Си пока не очень. Пытаюсь подключить библиотеки к проекту. Компилятор выдает ошибки, причем на мой взгляд беспочвенные. Компилятор Keil C51. Ошибки в приложенном снимке экрана. Первые две строки на которые он ругается выделены в коде желтым цветом. Кто нибудь может подсказать в чем проблема???

post-58126-1453986165_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто нибудь может подсказать в чем проблема???

Транслятор ругается на анонимный union.

Давно не использую МК51, поэтому не могу подсказать: как выйти из такого положения? Возможно (но не факт ! ), следует взять одну из последних версий Keil...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С последним keil тоже самое. У меня есть предположение, что может не хватать каких то библиотек. Но вот каких???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дело не в библиотеках, а в анонимных union, как заметили выше. Кстати, Keil для ARM их тоже не любит.

Чтобы исправить ситуацию, в первой строке, выделенной жёлтым, надо между скобкой и точкой с запятой указать произвольный идентификатор, уникальный в пределах описания typedef struct {...} Ft_Gpu_Hal_Config_t. То же самое нужно сделать для второго union (желтым не выделено):

 

typedef struct {
  union {
    ....
  } AnyName1;
  union {
    ....
  } AnyName2;
  ...
} Ft_Gpu_Hal_Config_t;

В приведённом примере это идентификаторы AnyName1 и AnyName2. Правда в этом случае придётся править и обращения к полям структуры, а это может быть муторно, если таких обращений много.

 

В Keil для ARM можно разрешить анонимные union директивой #pragma anon_unions - тогда описания и обращения править не придётся.

Можно ли это сделать для Keil51 - не знаю, проверить не на чем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...