Witam,
Mam do zrobienia projekt OSD dla quadrocoptera.
Wykorzystalem pomysl.
http://www.diydrones.com/profiles/blogs/ardupilot-as-osd-without
Uklad pomimo ze tak prosty dzialalby znakominie gdyby nie jeden fakt.
Tymczasowego psucia sie wyjscia MOSI.
Zasada dzialania jak i opisu problemu jest smiesznie prosta.
Ustawiamy SPI w tryb master.
Wlaczamy generator przez odpowiednia wartosc w rejestrze DDRB:
ldi r16, 0x08
out ddrb, r16
i wystawiamy bajt do rejestru:
out spdr, r0
po wyswietleniu odpowiedniej liczby pikselkow spowrotem zwalniamy szyne danych.
ldi r16, 0x00
out ddrb, r16
Powyzszy przyklad akurat w ASM, ale w C zachowuje sie tak samo (nie dziala).
Problem w tym ze po kilkudziesieciu przelaczeniach pinu MOSI w tryb wysokiej impedancji pozostaje on juz w takim stanie i nie daje sie przelaczyc jako wyjscie.
Spotkal sie ktos z czyms takim?
Firma Atmel mnie niestety zbyla! :/
Niestety uzycie Atmega88 mi nic nie daje (ma on USART w trybie SPI-o podobnym) bo potrzebuje USART-a dla GPS-a.
No chyba ze nie ma on tego problemu z SPI.
Pozdr
Dodano po 1 [minuty]:
Zeby ktos sobie nie pomyslal ze MOSI sie pali, po resecie wszystko wraca do normy i znowu.
Mam do zrobienia projekt OSD dla quadrocoptera.
Wykorzystalem pomysl.
http://www.diydrones.com/profiles/blogs/ardupilot-as-osd-without
Uklad pomimo ze tak prosty dzialalby znakominie gdyby nie jeden fakt.
Tymczasowego psucia sie wyjscia MOSI.
Zasada dzialania jak i opisu problemu jest smiesznie prosta.
Ustawiamy SPI w tryb master.
Wlaczamy generator przez odpowiednia wartosc w rejestrze DDRB:
ldi r16, 0x08
out ddrb, r16
i wystawiamy bajt do rejestru:
out spdr, r0
po wyswietleniu odpowiedniej liczby pikselkow spowrotem zwalniamy szyne danych.
ldi r16, 0x00
out ddrb, r16
Powyzszy przyklad akurat w ASM, ale w C zachowuje sie tak samo (nie dziala).
Problem w tym ze po kilkudziesieciu przelaczeniach pinu MOSI w tryb wysokiej impedancji pozostaje on juz w takim stanie i nie daje sie przelaczyc jako wyjscie.
Spotkal sie ktos z czyms takim?
Firma Atmel mnie niestety zbyla! :/
Niestety uzycie Atmega88 mi nic nie daje (ma on USART w trybie SPI-o podobnym) bo potrzebuje USART-a dla GPS-a.
No chyba ze nie ma on tego problemu z SPI.
Pozdr
Dodano po 1 [minuty]:
Zeby ktos sobie nie pomyslal ze MOSI sie pali, po resecie wszystko wraca do normy i znowu.
