Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

problem z inb(); i outb(); w Winavr(avr gcc)!

mariuqs
-
-
Posty:3
Rejestracja:7 kwie 2006, o 22:37
Lokalizacja:Toruń
problem z inb(); i outb(); w Winavr(avr gcc)!

Postautor: mariuqs » 29 paź 2006, o 12:23

Proszę o pomoc!
W manualu avr gcc odnosinie bibliotek dołączonych czytam, iż w biliotece "io.h" mogę skorzystać z funkcji outb() i inb(), które są odpowiednikiem asemblerowskich rozkazów "in" i "out".
Niestety owe funckje nie istinieją, w każdym badź razie kompilator zgłasza błąd.
Czy ktoś wie co może być powodem tego błedu.
Czy ktoś wie jak odczytać wartość dowolnego rejestru specjalengo w C, posługując się jego adresem?

Z góry dziękuję za wszelką pomoc!!!

POZDRAWIAM!!!

radzio
Moderator
Moderator
Posty:967
Rejestracja:13 maja 2003, o 10:33
Lokalizacja:Sosnowiec
Kontaktowanie:

Postautor: radzio » 29 paź 2006, o 12:54

inb() i outb() pochodzą z czasów gdy avr-gcc bardziej przypominał makroasembler niż kompilator C. Teraz dostęp do dowolnego rejestru odbywa się przez jego nazwę :

Kod: Zaznacz cały

PORTB = 20; // zapis do rejestru PORTB zmienna = PINB; // odczyt z rejestru PINB
itp.

PS. Bardzo stary masz ten manual.

mariuqs
-
-
Posty:3
Rejestracja:7 kwie 2006, o 22:37
Lokalizacja:Toruń

Postautor: mariuqs » 29 paź 2006, o 19:03

Dziękuje za pomoc!
Własnie na to wygląda, ze jest to stary manual. Jednak dołączany jest on z najnowsza wersią WinAvr :?

A mój problem już rozwiązałem. Chodziło mi o:
uint8_t *wsk;
wsk = 38
zmienna = *wsk;

w ten sposób można odwołać się do rejestru używając jego adresu.

Pozdrawiam i jeszcze raz dziękuje!!!

Wróć do „AVR/AVR32”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości