Страница 1 из 1

AVR Studio 5 подскажите пожалуйста...

Добавлено: Сб мар 03, 2012 21:37:58
ukr823f
Ситуацмия такова. Начинаю потихоньку изучать программирование. Давненько ещё учил С++ , поэтому для AVR пишу на С. Впринципе С++ и С схожи.

Так вот - установил АВР Студию, пишу на ней проект, который был написан на CodeVisionAVR. И при компиляции вылазят ошибки.

АВР студия непонимает такой синтаксис - PORTB.1 = 1;
А в CodeVision AVR такой синтаксис проходит.

Как мне в AVR Studio сделать чтоб она понимала такой синтаксис - PORTB.1 = 1;
Или как в ней работать с первой ногой порта B.

Просто PORTB.1 = 1; - выглядит интуитивно понятно...
Подскажите плиз.

Re: AVR Studio 5 подскажите пожалуйста...

Добавлено: Сб мар 03, 2012 21:44:39
Мастер Ломастер
ukr823f писал(а):Давненько ещё учил С++ , поэтому для AVR пишу на С. Впринципе С++ и С схожи.
...
АВР студия непонимает такой синтаксис - PORTB.1 = 1;
если вы учили С++ или Си, вы должны знать, что синтаксис типа PORTB.1 принципиально недопустим в С/С++. так что студия правильно ругается на это - это НЕСТАНДАРТНАЯ ФИЧА CVAVR.

Re: AVR Studio 5 подскажите пожалуйста...

Добавлено: Сб мар 03, 2012 21:52:24
ukr823f
Учил я его ещё в институте, а там курс был малый. То есть азы дали да и всё. Да и неинтересно было тогда его чё то учить, а сейчас прорвало на самодеятельность и приходиться всё с нуля начинать.

Объясните пожалуйста как конструкцию PORTB.1 == 0; написать в AVRStudio...
И если можно то обьясните...

Re: AVR Studio 5 подскажите пожалуйста...

Добавлено: Сб мар 03, 2012 21:56:21
Мастер Ломастер
используйте обычные для Си конструкции манипулирования битами:

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

 x |= _BV(1); // установить в х бит 1
x &= ~_BV(2); // сбросить в х бит 2
if(x & _BV(3)) // проверить, равен ли 1 бит 3 в переменной х
макрос _BV(x) предопределен в WinAVR, так что можете им пользоваться сразу. на всякий случай показываю, что он представляет из себя:

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

#define _BV(x)   (1 << (x))

Re: AVR Studio 5 подскажите пожалуйста...

Добавлено: Пт апр 06, 2012 16:09:55
Rimsky
Здравствуйте.
Создал проект для АВР на С, но не могу скомпилить даже стандартный шаблон, выдает это:
  • ------ Build started: Project: test, Configuration: Debug AVR ------
    Build started.
    Project "test.cproj" (default targets):
    Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
    Target "CoreBuild" in file "C:\Program Files\Atmel\Atmel Studio 6.0\Vs\Compiler.targets" from project "D:\Micro_project\AVR\Other\test\test\test.cproj" (target "Build" depends on it):
    Task "RunCompilerTask"
    C:\Program Files\Atmel\Atmel Studio 6.0\make\make.exe all
    make: *** [test.o] Error 1
    Done executing task "RunCompilerTask" -- FAILED.
    Done building target "CoreBuild" in project "test.cproj" -- FAILED.
    Done building project "test.cproj" -- FAILED.

    Build FAILED.
    ========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
Что это может значить?

Re: AVR Studio 5 подскажите пожалуйста...

Добавлено: Вс апр 08, 2012 05:45:06
Rimsky
Разобрался, необходимо было запускать программу от имени администратора (Windows7)