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

[ATmega16][C++] problem z bibloteka libc

michal0408 02 Sie 2009 09:09 966 3
REKLAMA
  • #1 6847627
    michal0408
    Poziom 13  
    witam

    chcialem pobawic sie wyswietlaczem graficznym i bibloteka libd od BTC i mam problem w AVRstudio troche pokombinowalem z kompilacja i kilka problemow ominolem ale nie wiem co zrobic z
    ../KS0108B.c:1259: error: 'IN' undeclared (first use in this function)
    ../KS0108B.c:1285: error: 'OUT' undeclared (first use in this function)

    czy ktos wie jak mozna sobie z tymi bledami poradzic ??
  • REKLAMA
  • #2 6847670
    Banan-PL
    Poziom 12  
    Wrzuć kod, to łatwiej będzie szukać błędu.
  • REKLAMA
  • #3 6847806
    michal0408
    Poziom 13  
    kodu jest duzo a IN i OUT pojawia sie w kilku miejcach wklejam jeden z takich fragmentow
    
    static uint8_t read_data(uint8_t chip_no) {
      uint8_t result;
      
      toggle_cs(chip_no, 0);
      wait_if_busy();
      
      chg_dir_db(IN);  
      set_rw();
      
      nop();
      nop();
    
      set_en1();
      delay_500ns();
      result = read_db();
      rst_en1();
      
      rst_rw();
      chg_dir_db(OUT);
      
      toggle_cs(chip_no, 1);
      
      return result;
    }
    
  • #4 6849632
    Banan-PL
    Poziom 12  
    Nie wnikając specjalnie w twój kod.
    W asemblerze komendy IN OUT przekazują dane między rejestrami ogólnego przeznaczenia, a obszarem I/O.


    IN - sczytuje wartość z rejestru I/O do rejestru
    OUT- zapisz na port daną z rejestru roboczego

    np.
    ldi R16, 0x0F ;załaduj rejestr 0b00001111
    out PORTB, R16

    czyli tłumacząc na C
    PORTB = 0x0F;

    a po komunikacie można wnioskować, że nie są zdefiniowane polecenia IN OUT, pewnie jako dyrektywy preprocesora (#define)
REKLAMA