SPI w AVR-ach
Masz problem? Zapytaj na forum elektroda.pl
From: "Cezary Kolak \(Colok\)" <colok_at_nospam_mw.mil.pl>
Subject: SPI w AVR-ach
Date: Wed, 8 Mar 2000 11:07:16 +0100
Próbuję podłączyć do AVR np. 90S8515 pamieć Data Flash 45D011 (oczywiście po
SPI).
Czy ktoś ma kawałek kodu a asemblerze do użyczenia (np. zapis i odczyt)
Dodam, że PDF Atmela dotyczący Recordera nic mi nie dał.
Colok zrezygnowany
From: "Andrzej Fien" <fien_at_nospam_hbury.com>
Subject: Odp: SPI w AVR-ach
Date: Fri, 10 Mar 2000 09:46:54 GMT
Próbuję podłączyć do AVR np. 90S8515 pamieć Data Flash 45D011 (oczywiście
po
SPI).
Czy ktoś ma kawałek kodu a asemblerze do użyczenia (np. zapis i odczyt)
Dodam, że PDF Atmela dotyczący Recordera nic mi nie dał.
Colok zrezygnowany
Ja mam kawalek takiego kodu. Tez sie chwile meczylem.
AF
mailto: fien_at_nospam_hbury.com
From: Trebor <trebor_at_nospam_ds2.pg.gda.pl>
Subject: Re: SPI w AVR-ach
Date: Fri, 10 Mar 2000 10:48:05 +0100
Andrzej Fien wrote:
Próbuję podłączyć do AVR np. 90S8515 pamieć Data Flash 45D011 (oczywiście
po
SPI).
Czy ktoś ma kawałek kodu a asemblerze do użyczenia (np. zapis i odczyt)
Dodam, że PDF Atmela dotyczący Recordera nic mi nie dał.
Colok zrezygnowany
Ja mam kawalek takiego kodu. Tez sie chwile meczylem.
AF
mailto: fien_at_nospam_hbury.com
Ja poprosiłbym na priva. Przymierzam się do użycia 45D081.
--
Pozdrawiam
_____________________________________________________________________
Robert Pudlik
DS-2 Politechniki Gdańskiej
From: "Andrzej Fien" <fien_at_nospam_hbury.com>
Subject: Odp: SPI w AVR-ach
Date: Sat, 11 Mar 2000 08:17:53 GMT
Kilka osob prosilo, wiec daje na liste.
------------------------------------------
Inicjalizacja portu SPI:
ldi r16,(0<<spie)+(1<<spe)+(1<<mstr)+(1<<cpol)+(1<<cpha)
out spcr,r16
------------------------------------------
Procedurki do odczytu i zapisu:
- x-number: dataflash memory page number
- y-pointer: dest pointer to ram
- r25:r24-size: block size
read_flash:
ldi r16,0x52
rcall wr_spi
lsl xl
rol xh
mov r16,xh
rcall wr_spi
mov r16,xl
rcall wr_spi
clr r16
rcall wr_spi
rcall wr_spi
rcall wr_spi
rcall wr_spi
rcall wr_spi
dfrd2:
rcall wr_spi
st y+,r16
sbiw r24,1
brne dfrd2
ret
- z-pointer: source pointer in ram
- x-number: dataflash memory page number
- r25:r24-size: block size
write_flash:
ldi r16,0x82
rcall wr_spi
lsl xl
rol xh
mov r16,xh
rcall wr_spi
mov r16,xl
rcall wr_spi
clr r16
rcall wr_spi
dfwr2:
ld r16,z+
rcall wr_spi
sbiw r24,1
brne dfwr2
ret
read_df_status:
ldi r16,0x57
rcall wr_spi
rcall wr_spi
ret
wait_df:
rcall read_df_status
wtdf2:
rcall wr_spi
tst r16
brpl wtdf2
ret
wr_spi:
out spdr,r16 ;r16-byte to write
waitspi2:
sbis spsr,spif
rjmp waitspi2
in r16,spdr ;returns byte from spi
ret
AF
mailto: fien_at_nospam_hbury.com