logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[ATMEL STUDIO] - Jak rozróżnić XMEGĘ od ATMEGI w Atmel Studio ?

t__d 21 Lut 2014 11:38 2133 4
REKLAMA
  • #1 13328375
    t__d
    Poziom 10  
    Witam.

    Mam następujący kod w Atmel Studio6.1:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Jako uC wybrałem XMEGA128A3U. Teoretycznie powinien skompilować się tylko kod pod XMEGA. Niestety kompilują się oba kody. Dodatkowo co dziwne oba są pokazane jako "przygaszone" czyli jakby __AVR_XMEGA__ i __AVR_MEGA__ nie były zdefiniowane.

    Pod Eclipse wszystko działa poprawnie a pod Atmel Studio nie chce działać poprawnie. Co robię źle ?
  • REKLAMA
  • #2 13328420
    Steryd3
    Poziom 33  
    No to zdefiniuj na początku main.c "#define __AVR_XMEGA__" i będzie po sprawie. Atmel studio z tego co kojarzę nie dodaje "z automatu" tego typu definicji. Można pewne rzeczy zdefiniować w odpowiednim miejscu, ale trzeba to zrobić samemu. Polecam: http://mikrokontrolery.blogspot.com/ - tam wszystko jest opisane.
  • REKLAMA
  • #3 13328478
    t__d
    Poziom 10  
    Steryd3 napisał:
    No to zdefiniuj na początku main.c "#define __AVR_XMEGA__" i będzie po sprawie.


    No nie do końca bo wprawdzie część definicji z XMEGA podświetla się wtedy poprawnie ale kompilują się obie części.
  • REKLAMA
  • #5 13328528
    t__d
    Poziom 10  
    piotrva napisał:
    A czy nie lepiej zamiast drugiego warunku dać #ifndef?


    Mogę dać też else ale czy to lepiej ? A co gdy będę chciał dać inne warunki a one nie będą mi działały? Dodatkowo z tym niezdefiniowaniem __AVR_XMEGA__ to jest dziwna sprawa ponieważ niby zdefiniowane nie jest a jak to zdefiniuję to dostaję komunikat: Warning __AVR_XMEGA__ redefined [enabled by default].
REKLAMA