Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Błąd podczas kompilacji w C

at111112 17 Cze 2015 20:09 330 6
  • #1 17 Cze 2015 20:09
    at111112
    Poziom 4  

    #include <avr/io.h>
    #include <util/delay.h>

    int main(void)
    {
    DDRB = 0x40;
    PORTB = 0x80;
    while(1)
    {
    PB7 = 1;
    _delay_ms(500);
    PB7 = 0;
    _delay_ms(500);
    }
    }

    ________________________________________________
    Napisałem ten program i nie mogę go skompilować, wyświetla mi się błąd:
    lvalue required as left operand of assignment location line 10 and 12
    co jest nie tak?

    Chciałbym się także dowiedzieć czy polecenia PB7 i PORTB7 można stosować zamiennie i czy np. PINC4 = 1 to to samo co PINC = 8

    0 6
  • #2 17 Cze 2015 20:23
    rufek90
    Poziom 23  

    Nie możesz przypisać wartości do PB7. Póki nie powiesz, co to jest za zmienna, to możesz mieć kłopoty z uzyskaniem pomocy. Może to stała?

    0
  • #3 17 Cze 2015 20:27
    at111112
    Poziom 4  

    Ale PB7 to siódmy bit w rejestrze PORTB
    PB7 to bezpośrednie odwołanie do bitu w tym rejestrze

    0
  • #4 17 Cze 2015 20:32
    Steryd3
    Poziom 31  

    Podpisuje się pod słowami kolegi.
    A w ramach akcji szybka rada -murowana satysfakcja...zamień PB7=1 na PORTB|=(1<<PB7); natomiast linijkę PB7=0 na PORTB&=~(1<<PB7);
    A tak całkiem to polecam http://mikrokontrolery.blogspot.com Na tej stronie znajdziesz czego ci trzeba.

    0
  • #5 17 Cze 2015 20:44
    at111112
    Poziom 4  

    Myślałem że w C są jakieś polecenia do bezpośredniego sterowania bitami rejestru PORTB jak to miało miejsce w Bascomie, gdzie napisało się tylko np. PORTB.4 = 1 i bit był już ustawiony i wszystko działało.

    0
  • #6 17 Cze 2015 20:56
    Steryd3
    Poziom 31  

    at111112 napisał:
    Myślałem że w C są jakieś polecenia do bezpośredniego sterowania bitami rejestru PORTB

    Cóż mam napisać...poczytaj sobie podaną stronę- jest tam dużo materiałów które pomogą wejść Ci w świat programowania w języku C. BASCOM to jednak inny język/środowisko ...oczywiście pewne analogie występują ale trzeba wiedzieć co w danym języku występuje i co jak się robi. Polecam też książkę: Język ANSI C autorstwa: Brian Kernighan i Dennis Ritchie - to klasyk języka C.

    0
  • #7 17 Cze 2015 21:02
    at111112
    Poziom 4  

    Dzięki za pomoc
    Poczytałem o tym i już wiem w czym leży problem

    0