Свежие обсуждения
Микроконтроллеры

Подскажите с CodeVisionAVR

Доброго времени суток.

Подскажите плиз.
Пишу в программе TCCR0A=0x83 компилер понимает, а если TCCR0A=(1COM0A1) | (1WGM00) | (1WGM01); то компилер ругается на COM0A1 - undefine.

В чем может быть загвозка? Может в настройках CodeVisionAVR

Заранее спасибо.

 

Hamster: CodeVisionAVR Вероятность того то не понимает может быть в слегка кривоватом Си самого CVAVR, это известная проблема, т.к. все пытаются обойти исходную лексику Си, почему, либо обойти исходное авторство и не платить, либо не дать возможность 100% переноса программ на другую AVR Си программу, это уже чисто политика самой фирмы изготовителя программы. Так что настройки тут могут быть и не при чём. Если это записи не идентичны по функционалу, то надо искать как для Code Vision написано аналогичное действие, или не гнаться за исходной правильной лексикой Си, а брать что дают и работать. Тут уж не до красиво оформленной программы иногда бывает. Или спросить у самих разрабов. Только если CVAVR лиц оформленный наверное, хотя чудеса и случаются. Как то попадалось типа перевод с правильного Си на CVAVR и ещё ImageCraft и WinAVR Си, но там я что то не помню про такую строчку.

 

в фрагменте внутри инклюда

#include (AVR_dev.h)
переход на
#ifdef _IO_BITS_DEFINITIONS_
#include (AVR_dev_bits.h)
#endif

см. раздел помощи: The C Preprocessor (где галочку поставить)
_IO_BITS_DEFINITIONS_ if the Project|Configure|C Compiler|Code Generation|Preprocessor|Include I/O Registers Bits Definitions option is enabled

на выходе CV Eval V2.05.5a в листинге результат:

000078 e4e3      LDI  R30,LOW(131)
000079 bdef OUT 0x2F,R30

 

birua: спасибо за инфу. Поставил CV Eval V2.05 там все это появилось