Skocz do zawartości

Błąd podczas kompilacj


tpankanin

Pomocna odpowiedź

Witam,

To mój pierwszy post. Próbuję napisać swój pierwszy program polegający na naprzemiennym zgaszaniu i zapalaniu diody. Program jest napisany na 2 pętlach (żeby zapalanie i zgaszanie diody było widoczne dla oczu powinna być jeszcze jedna pętla, ale nie to jest najważniejsze). Podczas kompilacji kodu występują dwa błędy, na temat których nie mam pojęcia co może być przyczyną. Czy ktoś z fachowców, progarmujacych AVRki w ASM mógłby mi pomóc.

Oto kod:

*   Author: AAA
*/ 
.include "2313def.inc"                     ;dołączenie pliku z definicjami rejestrów
.def Licznik1 = R16						; licznik 1 petli
.def Licznik2 = R17						; licznik 2 petli
.def Licznik3 = R18						; licznik 3 petli
.def Wyzerowany = R19						; do porównania z licznikami - zero
 out DDRD, 0xFF							;port D jako wyjście
 out PORTD; 0b11011111						;zapal jedną z diod


.org 0x0000                                ;podanie adresu początku programu - pamięć programu
Petla1: 
ldi Licznik1,0xFF
Odejmij1: 
dec Licznik1;
CPSE Licznik1,Wyzerowany				; porównaj czy licznik zero, jeśli tak przeskocz następny rozkaz
rjmp Odejmij1								; to jest rozkaz, jeżeli licznik1 nie jest zero
Petla2:
ldi Licznik2;0xFF
Odejmij2:  dec Licznik2
CPSE Licznik2,Wyzerowany				; porównaj czy licznik zero, jeśli tak przeskocz następny rozkaz
rjmp Odejmij2							; to jest rozkaz, jeżeli licznik1 nie jest zero

CPSE PORTd; 0b11011111
rjmp zapal								;to robi, gdy dioda zgaszona

Zgas:
out PORTD;0b11111111
rjmp Petla1
Zapal:
out PORTD;0b11011111					;zapal diode
rjmp Petla1

I błędy wyskakujące podczas kompilacji:

Error 1 Overlap in .cseg: addr=0x0 conflicts with 0x0:0x2 C:\Documents and Settings\AAA\Moje dokumenty\AVRStudio\Mig dioda\Mig dioda\Mig dioda.asm 18 0 Mig dioda

Error 2 Overlap in .cseg: addr=0x1 conflicts with 0x0:0x2 C:\Documents and Settings\AAA\Moje dokumenty\AVRStudio\Mig dioda\Mig dioda\Mig dioda.asm 20 0 Mig dioda

PS. Byś może program ma jakieś błędy i nie działa, do tego sobie dojdę, ale co oznaczają powyższe błędy ?

Z góy dziękuję

Link do komentarza
Share on other sites

.org 0x0000 ;podanie adresu początku programu - pamięć programu

powinno być .cseg (zamiast .org) i jest wstawione w złym miejscu ,powinno być na samym początku programu ,przed ustawianiem jakichkolwiek portow ,czy czegokolwiek innego ,zaraz za definicjami nazw rejestrów .Dla jasności:

.include "2313def.inc" ;dołączenie pliku z definicjami rejestrów
.def Licznik1 = R16 ; licznik 1 petli
.def Licznik2 = R17 ; licznik 2 petli
.def Licznik3 = R18 ; licznik 3 petli
.def Wyzerowany = R19 ; do porównania z licznikami - zero
.cseg
out DDRD, 0xFF ;port D jako wyjście
out PORTD; 0b11011111 ;zapal jedną z diod



Petla1:
ldi Licznik1,0xFF
Odejmij1:
dec Licznik1;
CPSE Licznik1,Wyzerowany ; porównaj czy licznik zero, jeśli tak przeskocz następny rozkaz
rjmp Odejmij1 ; to jest rozkaz, jeżeli licznik1 nie jest zero
Petla2:
ldi Licznik2;0xFF
Odejmij2: dec Licznik2
CPSE Licznik2,Wyzerowany ; porównaj czy licznik zero, jeśli tak przeskocz następny rozkaz
rjmp Odejmij2 ; to jest rozkaz, jeżeli licznik1 nie jest zero

CPSE PORTd; 0b11011111
rjmp zapal ;to robi, gdy dioda zgaszona

Zgas:
out PORTD;0b11111111
rjmp Petla1
Zapal:
out PORTD;0b11011111 ;zapal diode
rjmp Petla1

__________

Komentarz dodany przez: Nawyk

Kolego, staraj się proszę używać znaczników [ code] i [ /code]

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.