CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Ответить
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

O-LED писал(а):
vitalik_1984 писал(а): Что работает со скобками?
Если вы про оператор If то,наверно, потому что в основном цикле работает синтаксис языка Си.
А при #if работает уже синтаксис компилятора...
работает конструкция

Код: Выделить всё

#define   SAMPLE    1
void main(void)
{
   # if    (SAMPLE)
   {
   мой код
   }
   # endif
}  
и компилятор все "проглатывает" и наличие скобок его не смущает.
а если тужу конструкцию использовать до main, то со скобками уже не компилируется.
может просто в елсе от#IF тоже сделать main, а то как же будет программа без майна
выполняться,когда (вдруг) условие не выполнится.
В поисках истины человек развивается.
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула

Сообщение IfoR »

А у меня такое не прокатывает. Ругается на ля-ля-ля. Может, особенность компилятора (не видит кириллицу в коде)?

Код: Выделить всё

#define SAMPLE 1

int main(int argc, char *argv[])
{
    #if (SAMPLE)
    {
        ля-ля-ля
    }
    #endif
}
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Контактная информация:
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1800
Зарегистрирован: Вт окт 05, 2010 01:08:57

Сообщение O-LED »

:))
ля-ля-ля - это группа операторов..... :)
вот эта конструкци нормально работает если она находится в маин.

Код: Выделить всё

    #if (SAMPLE)
    {
        мой код
    }
    #endif
а если до маин, то нужно убрать фигурные скобки, и тогда тоже работает

Код: Выделить всё

    #if (SAMPLE)

        мой код

    #endif
KIT
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула

Сообщение IfoR »

Видимо, придётся комментировать свой пост немного выше.
IfoR писал(а): O-LED, видимо потому, что после прохода препроцессора место:

Код: Выделить всё

void foo()
{

#if    (SAMPLE) 
{
#define lya_lya_lya
}
#endif 

}
 
превращается в:

Код: Выделить всё

void foo()
{

{
}

}
 
А тут ничего криминального нет. :)
Если вынести это за функцию, то понятное дело, что внезапно оказавшиеся вне функций операторы могут как-то неприятно повлиять на компилятор.
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Прорезались зубы
Сообщения: 220
Зарегистрирован: Пт авг 07, 2009 22:06:49
Откуда: Россия, Москва

Сообщение Mr.Denis »

Подскажите пожалуйсто avr программатор USB или COM что бы работал под codeVision.
Главное чтоб печатная плата была!
STM32F4 Discovery + KEIL + Windows 7
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1451
Зарегистрирован: Пт фев 19, 2010 19:39:28
Откуда: Москва

Сообщение Сериг »

Stk500 avr910
Реклама
Прорезались зубы
Сообщения: 220
Зарегистрирован: Пт авг 07, 2009 22:06:49
Откуда: Россия, Москва

Сообщение Mr.Denis »

Спасибо за ответ!
Сходил взял у друга AVR910 (USB), вроде работает)))
На XP запустил, а вот на висте не получается.
Кто на висте работает с комплектом CodeVision и AVR910?
У кого какие проблеммы и как их решать, или только у меня проблема?
STM32F4 Discovery + KEIL + Windows 7
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1451
Зарегистрирован: Пт фев 19, 2010 19:39:28
Откуда: Москва

Сообщение Сериг »

Ребят стк500в2 работал,на хр потом перестал,дравейра переустанавливал,программаторы на винде 7 работают,и у меня работали,но перестали что делать?
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Сообщение demiurg301 »

Товарищи Коты!!! Юзающие CVAVR поясните такую весЧь. Юзаю CVAVR 1.25.5 - шью атмега128А. При достаточно большом коде ( точный размер сказать не могу) встроенный прошивальщик начинает выдавать ошибку по 0 адресу и также со всеми остальными адресами далее. Т.е. выводит ошибку при верификации, что вместо например 0x0940 прошиватеся 0xFFFF. Просто стирание чипа не помогает. НО стирание с проверкой стирания (галка check erasure установлена) - снимает проблему вплоть до следующей перегрузки компа. Кто с таким сталкивался ? - подскажите причину...

ЗЫ использую STK200
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

demiurg301 писал(а):Товарищи Коты!!! Юзающие CVAVR поясните такую весЧь. Юзаю CVAVR 1.25.5 - шью атмега128А. При достаточно большом коде ( точный размер сказать не могу) встроенный прошивальщик начинает выдавать ошибку по 0 адресу и также со всеми остальными адресами далее. Т.е. выводит ошибку при верификации, что вместо например 0x0940 прошиватеся 0xFFFF. Просто стирание чипа не помогает. НО стирание с проверкой стирания (галка check erasure установлена) - снимает проблему вплоть до следующей перегрузки компа. Кто с таким сталкивался ? - подскажите причину...

ЗЫ использую STK200
читайте known issues в даташите на вашу мегу.Возможно это заводской брак...
А то что проверка стирания помогает, это возможно из-за того, что частота исп немного не соответствует.
В поисках истины человек развивается.
Контактная информация:
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Сообщение demiurg301 »

vitalik_1984 писал(а): читайте known issues в даташите на вашу мегу.Возможно это заводской брак...
А то что проверка стирания помогает, это возможно из-за того, что частота исп немного не соответствует.
Да не, такая хрень и на другой меге.

Хм...А как проверка стирания и частота завязаны ? Я тоже грешил на программатор, но почемуто ошибка эта вылазит именно после перегрузки компа.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

demiurg301 писал(а):
vitalik_1984 писал(а): читайте known issues в даташите на вашу мегу.Возможно это заводской брак...
А то что проверка стирания помогает, это возможно из-за того, что частота исп немного не соответствует.
Да не, такая хрень и на другой меге.

Хм...А как проверка стирания и частота завязаны ? Я тоже грешил на программатор, но почемуто ошибка эта вылазит именно после перегрузки компа.
просто может нет успевать стирать если частота не соответствует.должна быть не менее чем в 4 раза ниже тактовой.
В поисках истины человек развивается.
Контактная информация:
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Сообщение demiurg301 »

vitalik_1984 писал(а): просто может нет успевать стирать если частота не соответствует.должна быть не менее чем в 4 раза ниже тактовой.
Так самое то интересное что после полного стирания с проверкой(без проверки не помогает) - всё ОК. Шью то через STK200 - там частоту комп гонит - может cvavr переставить?

ЗЫ Завтра попробую через AVR910 - но уж больно он долго шьёт ис под CV- раз в 5-10 медленнее stk200.
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 31
Зарегистрирован: Сб фев 09, 2008 23:15:43

Сообщение Алексей78 »

Завтра попробую через AVR910 - но уж больно он долго шьёт ис под CV- раз в 5-10 медленнее stk200.
У меня тоже AVR910 и тоже шью из под CVAVR, но для этого пользуюсь AVRProg, выдранным из четвертой студии, с ним AVR910 шьет гораздо быстрее. AVRProg.exe закрепляю в панели CVAVR, думаю Вы знаете как это сделать.
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Сообщение demiurg301 »

Алексей78 писал(а):AVRProg.exe закрепляю в панели CVAVR, думаю Вы знаете как это сделать.
Ну то что им быстрее шьётся это да. Но в связке с cvavr не пробовал. А какой вы cvavr используете? - реально не вьезжаю как в панели закрепить левый exe - использую допотопный 1.25.5 . Хотел перейти на новый но стрёмновато то, что старые проекты возможно надо будет перелопачивать - или всётаки 100% совмещаются?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

demiurg301 писал(а):
Алексей78 писал(а):AVRProg.exe закрепляю в панели CVAVR, думаю Вы знаете как это сделать.
Ну то что им быстрее шьётся это да. Но в связке с cvavr не пробовал. А какой вы cvavr используете? - реально не вьезжаю как в панели закрепить левый exe - использую допотопный 1.25.5 . Хотел перейти на новый но стрёмновато то, что старые проекты возможно надо будет перелопачивать - или всётаки 100% совмещаются?
В версии 2.05 это просто -Tools->Configure->Add->Выбираете путь->Ok.
После этого в меню Tools оказывается нужная прога.
Главное опции запуска прописать.Прописываются там же. где кнопка ADD.
В поисках истины человек развивается.
Контактная информация:
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Сообщение demiurg301 »

Спс за подсказку , пойду качну 2.05.
А как с портированием проектов со старых версий CVAVR на 2.05(кстати "стабильная"?) ? Потому как есть просто огромнейшие , которые переписывать и править дюже долго. Особенно интресуют такие нюансы как библиотеки встроенные.
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Вт окт 06, 2009 17:18:09
Откуда: Minsk

Сообщение DimmONN »

Приветствую уважаемых ПроКотов!
Помогите советом нубу. Скажу сразу в железе "рублю" в программировании - ноль.
Уже неделю пытаюсь прошить 168мегу(bootloader для Arduino), все программы которыми раньше пользовался в упор ее не видят, кроме СV(и то как то непонятно). Но я ей никогда не пользовался, попытался разобраться методом тыка и столкнулся с тем, что в ChipProgrammer-е не вижу фьюзов Bodelevel, CKOPT, SPIEN, и читал что в 168 есть третий фьюз-байт. Короче помогите. новичку, по-шагово опишите процесс прошивки.
Родился
Сообщения: 19
Зарегистрирован: Вт апр 06, 2010 09:50:34

Сообщение master_74 »

Супер котам вопрос.
Подскажите ПЛЗ!!! нормально пролеченую стабильную версию CV шоб понимала long long int.
Сижу на 1.25.9. Что посвежее все корявое попадается.
Где все доктора подевались?????
Поделитесь софтинушкой на petrovav74@mail.ru ПЛЗ!!!
Открыл глаза
Сообщения: 68
Зарегистрирован: Пн окт 06, 2008 15:51:58
Откуда: Черкассы

Сообщение Rusja2008 »

А что Вам мешает использовать int64_t из библиотеки inttypes?
Не умееш - не берись, но не взявшись не научишся.
Ответить

Вернуться в «AVR»