C na AVR jeszcze raz

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
Najgorsze w przechodzeniu na C mam juz za soba. Sterowanie portami dziala,
procedury dla LCD dzialaja, teraz jeszcze obsluga przerwan i lecimi. Jednak
nie moge sie doszukac informacjijak zdeklarowac zmienna tak zeby znalazla
sie w okreslonej komorce pamieci.  Z tego co do tej pory wyczytalem w C
zmienne funkcjonuja zupelnie inaczej niz do tej pory sie przyzwyczailem. W
podreczniku o C tego nie ma bo jest on ogolnie o jezyku a nie w
zastosowaniach na AVR. Jest wogole w taka mozliwosc?


Re: C na AVR jeszcze raz
 > lecimi. Jednak nie moge sie doszukac informacjijak zdeklarowac zmienna
 > tak zeby znalazla sie w okreslonej komorce pamieci.

Po co?

 > Jest wogole w taka mozliwosc?

Po co?

PS. Jest, ale prawie na pewno tego nie chcesz.


Re: C na AVR jeszcze raz

Quoted text here. Click to load it
Mam 96 bitowy rejestr zapelniany szeregowo bit po bicie. Po zapelnieniu
kazde 8 bitow to wartosc poczatkowa dla 12 zmiennych ktore pozniej do innych
celow sa wykorzystane.
Tak mam teraz, odczyt kolejnego bitu i przesuniencie rejestru to kilka
linijek w ASM. Chodzi szybko poprawnie i nie trzeba zadnych dodatkowych
linijek i czasu zeby to przerabiac odczytywac itd.
No chyba ze sa szybsze i lepsze sposoby ale nie widze w tym moim jakichs
wad. Odczytywanie po 8 bitow i zapisywanie ich wartosci nie bedzie szybsze
ani lepsze.

Zreszta po kompilacji jest informacja gdzie siedzi jaka zmienna wiec
wielkiego problemu nie mam ale moze mi sie przydac info jak od poczatku
umiescic zmienna w okreslonym miejscu.


Re: C na AVR jeszcze raz
 > Mam 96 bitowy rejestr zapelniany szeregowo bit po bicie. Po zapelnieniu
 > kazde 8 bitow to wartosc poczatkowa dla 12 zmiennych ktore pozniej do
 > innych celow sa wykorzystane.

Potrzebujesz wi臋c tablice:

unsigned char tablica[ 96 / 8 ];

Czy aby na pewno jednak to nie mo偶e by膰 zape艂niane w locie po 8 bit贸w?
Musisz mie膰 *KONIECZNIE* te 96 bit贸w i m臋czy膰 si臋 z nimi wszystkimi?

 > Tak mam teraz, odczyt kolejnego bitu i przesuniencie rejestru to kilka
 > linijek w ASM. Chodzi szybko poprawnie i nie trzeba zadnych dodatkowych
 > linijek i czasu zeby to przerabiac odczytywac itd.

"tablica" mo偶e by膰 interpretowana jako adres pami臋ci tych 12 bajt贸w.

 > No chyba ze sa szybsze i lepsze sposoby ale nie widze w tym moim jakichs
 > wad. Odczytywanie po 8 bitow i zapisywanie ich wartosci nie bedzie
 > szybsze ani lepsze.

Opisz po co Ci ten rejestr.

 > Zreszta po kompilacji jest informacja gdzie siedzi jaka zmienna wiec
 > wielkiego problemu nie mam ale moze mi sie przydac info jak od poczatku
 > umiescic zmienna w okreslonym miejscu.

Nie m贸w kompilatorowi gdzie ma wsadzi膰 zmienn膮. Zamiast tego zapytaj
kompilator gdzie j膮 umie艣ci艂. Nazwa tablicy jest odpowiedzi膮 na to
pytanie. Jednak zanim zaczniesz stukac w asm zadam ponownie to pytanie:
do czego to jest potrzebne?

Re: C na AVR jeszcze raz

Quoted text here. Click to load it

No juz pisalem. Bit po bicie zapelnia sie odbierana informacja, po kazdym
bicie trzeba sprawdzic zawartosc a czasem wykorzystac te wartosci do innych
wyliczen.
W ASM cala ta procedura byla krociutka i bardzo szybka a szybkosc tez ma
znaczenie dlatego nie chce jej komplikowac i mimo pisania reszt w C (pozniej
sa inne rzeczy ktore znowuz sa upierdliwe do pisania w ASM)ta czesc zostawie
w ASM.


Re: C na AVR jeszcze raz
Quoted text here. Click to load it

Chodzi艂o mi o to czy na pewno musisz te bity wsuwa膰 za kazdym razem
przez wszystkie 12 bajt贸w. Czy nie lepiej jest ustawia膰 od razu tam
gdzie trzeba.

Quoted text here. Click to load it

Przedwczesna optymalizacja ;) Po prostu napisz to w C i zobaczysz na ile
bedzie wolne.

Re: C na AVR jeszcze raz

Quoted text here. Click to load it

Ano musze miec wszystkie na raz.

Quoted text here. Click to load it

Ta czesc jednak zostawie w ASM :)


Re: C na AVR jeszcze raz

Quoted text here. Click to load it

Zainteresuj si臋 wska藕nikami.

--
gof

Re: C na AVR jeszcze raz
do niczego Ci臋 nie zmuszam, ale mo偶e zechcia艂by艣 napisac kolegom z grupy jak
艂膮czysz C z assemblerem bo chyba nie przez inline (czy jako艣 tak)? no i jak
korzystasz ze zmiennych C w kodzie asma?


Re: C na AVR jeszcze raz
wiadomo艣ci grup dyskusyjnych:i7nkr7$42i$ snipped-for-privacy@mx1.internetia.pl...
Quoted text here. Click to load it
Nie sadze, ze tym co pisza w C trzeba tlumaczyc jak wstawiac wstawki ASM.
Poza tym opisane jest to w wielu ksiazkach jak i w internecie chociazby na
stronie GCC. Akurat wstawki w ASM nie sa problemem biorac pod uwage calosc
jezyka C.


Re: C na AVR jeszcze raz
dzi臋kuj臋 za pomoc, licz臋, 偶e podobnie b臋dzie z odpowiedziami na Tw贸j post...


Re: C na AVR jeszcze raz
wiadomo艣ci grup dyskusyjnych:i7q9l4$3bj$ snipped-for-privacy@mx1.internetia.pl...
Quoted text here. Click to load it

W jednym ze swoich postow wyraziles sie o autorze pewnej ksiazki cyt. "chyba
nie tego debila, kt贸rego
nazwiska nie pomne, taka zielona z tytulem C dla AVR... co za kretyn ja
napisal - nie ma w niej nic o programowaniu w C...
" kon. cyt.  Informacje z tej ksiazki sa akurat wystarczajace do tworzenia
podstawowych wstawek w ASM i parafrazujac tzreba byc kretynem albo debilem
zeby tego nie zrozumiec co biorac pod uwage poziom postow autora o nazwie
"identifikator: 20040501" jest chyba prawdziwe. Co w tym wszystkim
pozytywnego to to, ze czytajac ze znajomymi te posty mamy niezly ubaw.


Re: C na AVR jeszcze raz
Quoted text here. Click to load it

w tej ksi膮偶ce 200 stron to rozwa偶ania o inline... o tym m贸wisz?
przyznaj臋, musz臋 j膮 przeczyta膰 raz jeszcze, bo mo偶e pomyli艂em z t膮 ksi膮偶k膮 o
USB i programowaniu w C++... no to dopiero rodzynek...

to jak rozumiem nie napiszesz mi jednego czy dw贸ch zda艅 wyja艣niaj膮cych
problem?


Re: C na AVR jeszcze raz


Quoted text here. Click to load it

Te偶 si臋 do艂膮czam do pytania. Chomik powiedz nam.


Re: C na AVR jeszcze raz
Quoted text here. Click to load it

to mo偶e ja zaczn臋... najprostszym rozwi膮zaniem dla lajk贸w jest AVR Studio ze
zintegrowanym WinAVR... wtedy pliki assemblerowe dodajemy do projektu jako
pliki z rozszerzeniem .s... jako艣 tak to by艂o, niestety nie wiem co dalej...


Re: C na AVR jeszcze raz
swego czasu by艂 kurs C "Programowanie procesor贸w w j臋zyku C", moze byc
pomocne.
poszukaj w sieci pod t膮 nazw膮 to znajdziesz komplet w pliku pdf






Quoted text here. Click to load it



__________ Informacja programu ESET NOD32 Antivirus, wersja bazy sygnatur
wirusow 5487 (20100928) __________

Wiadomosc zostala sprawdzona przez program ESET NOD32 Antivirus.

http://www.eset.pl lub http://www.eset.com




Re: C na AVR jeszcze raz
Quoted text here. Click to load it

mam ten kurs, nie mia艂em czasu jeszcze go przeczyta膰, warto?

mo偶na si臋 by艂o spodziewa膰 takiego obrotu sprawy - ach to PO

a zmieniaj膮c temat, czy Kto艣 tu widzia艂 gdzie艣 jaki艣 kurs pisania makefiles?


Re: C na AVR jeszcze raz
W dniu 29.09.2010 20:27, identifikator: 20040501 pisze:
Quoted text here. Click to load it
Tak, widzia艂em.
Tbbtyr gr偶 jvqmvn艂l.

--
MSPANC
Michoo

Re: C na AVR jeszcze raz
wstawki-dupawki ;)


http://www.nongnu.org/avr-libc/user-manual/inline__asm.html
http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_startup
http://www.elektroda.pl/rtvforum/topic1168544.html#5860175


"mam ten kurs, nie mia艂em czasu jeszcze go przeczyta膰, warto?"

warto, nawet z ciekawo艣ci, tylko nie nawijaj 偶e nie masz czasu czyta膰  !!,
ale idzie zima i d艂uuugie wieczory.

pozdrowionka



__________ Informacja programu ESET NOD32 Antivirus, wersja bazy sygnatur
wirusow 5490 (20100929) __________

Wiadomosc zostala sprawdzona przez program ESET NOD32 Antivirus.

http://www.eset.pl lub http://www.eset.com




Re: C na AVR jeszcze raz
Quoted text here. Click to load it

no i nie ma mo偶liwo艣ci nieu偶ywania inline? wszyscy rozpisuj膮 sie nad inline,
a nikt normalny chyba tego nie stosuje...


Site Timeline