Re: Problem z AT90S2313



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: crissoo77_at_nospam_wp.pl (CriSsOo)
Subject: Re: Problem z AT90S2313
Date: Sat, 01 Jun 2002 14:55:25 GMT


On Sat, 01 Jun 2002 00:43:18 +0200, Ireneusz Niemczyk
<i.niemczyk_at_nospam_multispedytor.com.pl> wrote:

Na dzień dobry wywal kondensator z resetu!
Może zapodaj soft, to przebadamy - faktycznie może na symulacji pierwszego
tysišca taktów chodzić, a później iść w maliny ;-)

--
>PZD, Irek.N.
>

Kondensator wywaliłem, bez zmian ;(
Do testowania napisałem prosy program:
.equ tccr1a=0x2f
.equ tccr1b=0x2e
.equ ocr1ah=0x2b
.equ ocr1al=0x2a
.equ portb=0x18
.equ ddrb=portb-1
.equ portd=0x12
.equ ddrd=portd-1
.equ pind=portd-2
.def setup_reg=r20

ser setup_reg
out ddrb, setup_reg ; portb jako wyjście
clr setup_reg
out ddrd, setup_reg ; portd jako wejście
cbi portd,0

ldi setup_reg, 0b10000001 ; PWM proporcjonalny 8bit
out tccr1a, setup_reg

jed: cbi portb, 7
cbi portb, 6
clr setup_reg ; PWM 50/256
out ocr1ah, setup_reg
ldi setup_reg, 0b00110010
out ocr1al, setup_reg

zero: sbi portb, 7
sbi portb, 6
clr setup_reg ; PWM 100/256
out ocr1ah, setup_reg
ldi setup_reg, 0b01100100
out ocr1al, setup_reg
jmp jed


wydaje mi się że tu wszystko jest ok.
Przy okazji wykryłem, że przy zegarze 4 MHz na pinach 6,7,3 portu B
jest stan wysoki, a co 250us jest skok do niskiego, nie wiem ile on
trwa bo mój oscyloskop jest za cienki. Więc wypada na co 1000 cykl
zegara, skšd to? Na PWM podane jest 100Hz, także to chyba nie ma nic
do rzeczy.

Pozdrawiam

CriSsOo


Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows_at_nospam_amwaw.edu.pl>
Subject: Re: Problem z AT90S2313
Date: Sun, 02 Jun 2002 00:43:39 +0200


CriSsOo wrote:

Na dzień dobry wywal kondensator z resetu!
Może zapodaj soft, to przebadamy - faktycznie może na symulacji pierwszego
tysišca taktów chodzić, a później iść w maliny ;-)


Kondensator wywaliłem, bez zmian ;(
Do testowania napisałem prosy program:
[...]


Zeby na poczatku wykluczyc wady w sofcie, napisz prosty program 2x
krotszy od podanego. Niech zapala bit I/O, NOP, gasi bit i skok do
poczatku. Zadnego tam PWMa. Jak nie zobaczysz dzialania na oscyloskopie
to sie bedziemy dalej martwic.

BTW: A sprawdzales, czy masz dobry programator? Jak zapisujesz program -
przez ISP czy po wyjeciu ukladu w programatorze rownoleglym? Po
zapisaniu odczytaj pamiec Flash i porownaj z tym, co tam chciales
zapisac (czyli przeprowadz weryfikacje).

--

Adam Dybkowski
adybkows_at_nospam_amwaw.edu.pl
http://www.amwaw.edu.pl/~adybkows


Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Problem z AT90S2313
Date: Sun, 02 Jun 2002 01:19:37 +0200


{wow}
1:18...nie namówisz mnie dzisiaj ;-)))
Poza tym przychylam się do rady Adama :-)

--
PZD, Irek.N.
ps. w czym to piszesz ? Jest sens redefiniować już zdefiniowane ?


Poprzedni Następny
Wiadomość
Spis treści
From: "c2h5oh" <crossroads_at_nospam_go2.pl>
Subject: Re: Problem z AT90S2313
Date: Sun, 2 Jun 2002 19:41:53 +0200



"CriSsOo" <crissoo77_at_nospam_wp.pl> wrote in message
news:3cf8da15.452698_at_nospam_news.tpi.pl...

Kondensator wywaliłem, bez zmian ;(
Do testowania napisałem prosy program:
.equ tccr1a=0x2f
.equ tccr1b=0x2e
.equ ocr1ah=0x2b
.equ ocr1al=0x2a
.equ portb=0x18
[...]
out ocr1ah, setup_reg
ldi setup_reg, 0b01100100
out ocr1al, setup_reg
jmp jed


Na drugie dzień dobry musisz wyłączyć watchdoga, bo go nigdzie nie
resetujesz,
będzie:

ldi temp, 0b00000000 ;czyść psa
sbr temp, (1<<WDTOE)+(1<<WDE)
out WDTCR, temp
cbr temp, (1<<WDE)
out WDTCR, temp ; koniec czyść psa

Po drugie, bywalcy pamiętają zapewne jak kiedyś płakałem, bo program na 2313
ruszał tylko wtedy, jak się macnęło kwarc? Po dodaniu linijek:

ldi temp, RAMEND
out SPL, temp ;to jest zainicjowanie stosu

chodzi jak należy. Pytanie za sto punktów - dlaczego chodziło po macnięciu
kwarcu, jeżeli problem był softwarowy? No i ile jeszcze takich
nieudokumentowanych w sumie kruczków kryje w sobie jeszcze 2313 (ja już mam
paru kandydatów:)

A wracając do twojego problemu - czy w ogóle chodzi jakikolwiek program, czy
tylko PWM? Może lepiej napisz to na przerwaniach, podłącz LEDy, to zobaczysz
czy chodzi i bez oscyloskopu ;)

Pozdrawiam
c2h5oh