C na AVR jeszcze raz

Sep 22, 2010 26 Replies

U¿ytkownik "identifikator: 20040501" snipped-for-privacy@go2.pl napisa³ w wiadomo¶ci grup dyskusyjnych:i828cm$vv0$ snipped-for-privacy@mx1.internetia.pl...

Ale przeciez nikt nie kaze pisac w C. Nie podoba sie to jest BASCOM (oczywiscie dla najprostszych zastosowan) mozna pisac w czystym ASM. Ja jakos nigdy nie pisalem w C bo dziwnie mnie odpychal ale po przeczytaniu wczesniej wspomnianej ksiazki, kursu z dioda.pl i materialow w necie glownie dokumentacji do gcc oraz po tygodniu intensywnych prob na zestawie napisalem pierwszy program ze wstawka ASM i chodzi. A nie jest to program do zapalania diodek. W tej chwili jest obsluga przerwan w ktorej nastepuje odbior transmisji szeregowej z dekodera FSK, z ciagu bitow wylapywana jest preambula potem calosc ramki, liczony CRC16 (inny niz dostepny w bibliotekach) potem dane sa obrabiane i w efekcie wyswietlane, dodatkowo jest obsluga zegara DS1388 oraz pamieci 24c512 ktora przechowuje te dane. To wszystko napisalem w 3 dni wczesniej nie majac pojecia o C. Teraz rozbudowuje program przez dodanie pelnej obslugi klawiatury 4x4 oraz transmisji po RS232 gdzie te zapisane dane beda przesylane do komputera, oraz dodatkowo interfejs do obslugi calosci czyli w tym przypadku wielopoziomowe menu. Wiec moze zamiast tu ciagle sie pytac o wszystko i miec pretensje ze nikt nie chce odpowiedziec trzeba usiasc przeczytac i cos zrobic. A jesli nic nie wychodzi to poprostu sie zajac czym innym a pewne rzeczy zostawic dla tych co sa, nazwijmy to zdolniejsi.

Twoja teoria siê nie sprawdza niestety...

no ta, ¿e "uczymy siê na przyk³adach" ale jak nie chcesz napisac to ok, EOT

sprawdzi³em t± ksi±¿eczkê raz jeszcze, jednym s³owem: Autor TO DEBIL! teraz EOT

W dniu 30.09.2010 16:51, identifikator: 20040501 pisze:

Oczywiście, że możesz pisać osobno kod w C, osobno w assemblerze i tylko go linkować razem. W pliku nagłówkowym definiujesz funkcje i zmienne assemblerowe jako extern a w assmeblerze definiujesz odpowiednie symbole jako global.

W dniu 2010-09-30 18:53 Michoo napisał(a):

Można też do pliku źródłowego w asemblerze powstawiać dodatkowe deklaracje wspomagające debugowanie. Nie odsyłam do opisu składni asemblera gas bo można się tam zagubić :) ale proponuję po prostu utworzyć prosty plik w C, poddać go samej kompilacji i zobaczyć co wyjdzie. A potem wyciąć niepotrzebne kawałki (np. deklaracje numerów linii z pliku źródłowego dla debuggera) - zostanie właściwe "mięsko", które można dołączać do swoich projektów jako asemblerowy plik źródłowy z rozszerzeniem .s (albo .S jeżeli przepuszczamy go przez preprocesor).

Jak to jest w AVRach można też się przyjrzeć tutaj:

formatting link

In the darkest hour on Thu, 30 Sep 2010 16:51:03 +0200, identifikator: 20040501 snipped-for-privacy@go2.pl screamed:

Jakieś badania zrobiłeś na ten temat? Z doświadczenia wiem, że jest inaczej niż piszesz.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required