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

Błąd kompilacji w WINAVR: niewidoczny rozkaz sbi w io.h dla ATmega32

Wujasss 15 Mar 2005 01:29 2370 3
REKLAMA
  • #1 1316666
    Wujasss
    Poziom 15  
    Posty: 192
    Ocena: 4
    Chce skompilowac programik WINAVR-em, a nie moge bo wyskakuje mi wdciąz błąd, tak jakby nie widział rozkazu sdi w bibliotece io.h

    o to ten program:

    #include <avr/io.h>

    int main(void)
    {
    sbi (PORTB,1);
    while(1)
    {
    }

    }

    A w wyniku kompilacji bład powstaje taki:

    > "make"
    avr-gcc -g -Wall -O2 -mmcu=atmega8 -c -o led.o led.c
    led.c: In function `main':
    led.c:5: warning: implicit declaration of function `sbi'
    avr-gcc -g -Wall -O2 -mmcu=atmega8 -Wl,-Map,led.map -o led.elf led.o
    led.o(.text+0x10): In function `main':
    D:\Projekt\PKT1/led.c:5: undefined reference to `sbi'
    make: *** [led.elf] Error 1

    > Process Exit Code: 2

    w czym tkwi proble? ma byc to na procek AVR ATMEGA32

    Bede bardzo wdzięczny za pomoc
  • REKLAMA
  • #2 1317259
    juntom
    Poziom 19  
    Posty: 216
    Pomógł: 35
    Ocena: 27
    W najnowszym winavar /02.2005/ brak jest funkcji operacji na bitach sbi i cbi . Mozesz zrobic to tak:
    PORTB|=_BV(4) // bit ustawiony (1)
    PORTB&=~_BV(4) // bit wyzerowany
    pozdr.
  • REKLAMA
  • #4 1322173
    Wujasss
    Poziom 15  
    Posty: 192
    Ocena: 4
    Dzięki!!! Właśnie znalazłem tez informacje o Tym, że w winavr 02.2005 nie ma tej funkcji sbi i cbi, gdyz poszło to do lamusa, tak jak outp i inp. pozdrawiam
REKLAMA