Witam,
Mam mały problem. Napisałem już kilka kombinacji programu który odczytywać ma dane pochodzące z PC (terminala). Przeszukałem forum i książkę i teoretycznie wszystko powinno być ok. Niestety nie jest. To co dostaje wysyłam na diody i otrzymuję:
- w przypadku cyfr (większości) dane postaci 11000011
- innych przycisków (np F1-F5) 11000000
W przypadku wysyłania liter nic się nie dzieje.
Prawdę mówiąc nie mam już pomysłu co z tym zrobić. Kod jest następujący:
.INCLUDE "m32def.inc"
.EQU cz_takt = 16000000
.EQU pr_szer = 9600
.org 0x000
rjmp Start
.org 0x01B
rjmp Odczytaj
.org 0x01D
rjmp Wyslij
Start:
ldi R16,high(RAMEND)
out SPH,R16
ldi R16,low(RAMEND)
out SPL,R16
ldi R16,255
out DDRC,R16
ldi R17,high(cz_takt/(16*pr_szer)-1)
ldi R16,low(cz_takt/(16*pr_szer)-1)
out UBRRH,R17
out UBRRL,R16
ldi R16, 0b10000110 //bity parz wylaczone
//ldi R16,(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0)
out UCSRC,R16
ldi R16,(1<<RXEN)|(1<<TXEN)|(0<<UDRIE)|(1<<RXCIE)
out UCSRB,R16
sei
Petla:
rjmp Petla
Wyslij:
ldi R16,0x45
out UDR,R16
reti
Odczytaj:
push R17
in R17,UDR
out PORTC,R17
pop R17
reti
Byłbym bardzo wdzięczny za pomoc.
Mam mały problem. Napisałem już kilka kombinacji programu który odczytywać ma dane pochodzące z PC (terminala). Przeszukałem forum i książkę i teoretycznie wszystko powinno być ok. Niestety nie jest. To co dostaje wysyłam na diody i otrzymuję:
- w przypadku cyfr (większości) dane postaci 11000011
- innych przycisków (np F1-F5) 11000000
W przypadku wysyłania liter nic się nie dzieje.
Prawdę mówiąc nie mam już pomysłu co z tym zrobić. Kod jest następujący:
.INCLUDE "m32def.inc"
.EQU cz_takt = 16000000
.EQU pr_szer = 9600
.org 0x000
rjmp Start
.org 0x01B
rjmp Odczytaj
.org 0x01D
rjmp Wyslij
Start:
ldi R16,high(RAMEND)
out SPH,R16
ldi R16,low(RAMEND)
out SPL,R16
ldi R16,255
out DDRC,R16
ldi R17,high(cz_takt/(16*pr_szer)-1)
ldi R16,low(cz_takt/(16*pr_szer)-1)
out UBRRH,R17
out UBRRL,R16
ldi R16, 0b10000110 //bity parz wylaczone
//ldi R16,(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0)
out UCSRC,R16
ldi R16,(1<<RXEN)|(1<<TXEN)|(0<<UDRIE)|(1<<RXCIE)
out UCSRB,R16
sei
Petla:
rjmp Petla
Wyslij:
ldi R16,0x45
out UDR,R16
reti
Odczytaj:
push R17
in R17,UDR
out PORTC,R17
pop R17
reti
Byłbym bardzo wdzięczny za pomoc.