Как добавить подсветку типов данных в IAR, AVR Studio и CodeVision AVR

Введение

Если вы пользуетесь типами данных с фиксированной разрядностью, которые определены заголовочном файле stdint.h, то наверняка столкнулись с тем, что софт для программирования AVR не подсвечивает их. Unsigned char, unsigned int выделяет, а uint8_t, uint16_t нет. Вроде небольшое неудобство, но мешает. Оказывается в любой из трех программ - IAR, AVR Studio, CodeVision - это можно исправить и сделать это очень легко. 

Подсветка кода в IAR

Создаем текстовый файл с произвольным именем, допустим keywords.txt. Записываем в него типы данных, которые хотим подсветить. Каждая запись должна быть на новой строчке, вот так:

uint8_t
uint16_t
uint32_t
int8_t
int16_t
int32_t

Сохраняем файл где-нибудь в папке IAR`a, например, в IAR Systems\Embedded Workbench 5.0 Evalution\common\config. В этой же папке хранится файл шаблонов кода IAR`a - CodeTemplates.ENU.txt.

Далее открываем в IAR`е меню Tools > Options.


В разделе Editor > Setup Files ставим галочку Use Custom Keyword File и указываем путь к нашему файлу c ключевыми словами.


Ну а подсветку настраиваем в разделе Editor > Colors and Fonts >Syntax Coloring > User keyword.

Подсветка кода в AVR Studio

В AVR Studio подсветку нестандартных типов данных сделать еще проще. В папке, где установлена студия - ... Atmel\AVR Tools\AvrStudio4\edit\ есть файл AVRStudio_c.ini. В этом файле в разделе [Keywords] описаны все ключевые слова. Чтобы добавить подсветку типов данных с фиксированной разрядностью, нужно вставить в этот раздел такой текст:


int8_t      =Keyword
int16_t    =Keyword
int32_t    =Keyword
uint8_t    =Keyword
uint16_t  =Keyword
uint32_t  =Keyword

Ну и не забыть сохранить его. 

Подсветка кода в CodeVision AVR

CodeVision AVR позволяет настроить редактор кода редактор кода наиболее гибко. Открываем меню Settings > Editor.


На вкладке Syntax Highlighting выбираем Language Element > User defined keyword и в нижнем окошке прописываем типы данных.


Добавить комментарий

При добавлении в комментарий Си кода, заключайте его между тегами [code] [/code]. Иначе он будет отображаться некорректно.


Защитный код
Обновить