-
Data: 2020-05-20 20:01:19
Temat: Re: karta SD na SPI zawiesza AtXmega128A3U
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 20.05.2020 18:43, a...@m...uni.wroc.pl wrote:
> Przepraszam ze pytam o oczywistosc, ale czy sprawdziles zasilanie?
> Karta do pracy swoje potrzebuje...
Tak, to już sprawdziłem. Cały układ jest zasilany z przyzwoitego
zasilacza impulsowego, a przy karcie jest obecny kondensator filtrujący.
Ścieżka zasilająca w miarę gruba i niezbyt długa.
Okazuje się, że winę za to zachowanie ponoszą najprawdopodobniej dwa
błędy. Pierwszy wynikał z zastosowania zmiennych o niezdefiniowanej
długości, zależnej od kompilatora. Na PIC24 zmienna miała właściwy
rozmiar, ale na AVR przepełniła się przed osiągnięciem wartości mającej
zakończyć pętlę.
Samo to jednak nie usunęło problemu. Zacząłem wywoływać niskopoziomowe
funkcje I/O bezpośrednio w pętli głównej programu. I faktycznie,
writeSPI() zawiesza program, na pętli oczekiwania na zakończenie
transmisji. Jeśli zakomentuję pętlę, zawias znika.
Funkcja wygląda następująco:
#define SD_SPI SPIE
// send one byte of data and receive one back at the same time
unsigned char writeSPI( unsigned char b) {
SD_SPI.DATA = b;
while(!(SD_SPI.STATUS & SPI_IF_bm));
return SD_SPI.DATA;
}// writeSPI
Jakiś pomysł co do tego, co może powodować problem z tą flagą?
W tym samym układzie mam już uruchomione inne urządzenie na SPIC - tam
żadne problemy ne występują.
Następne wpisy z tego wątku
- 20.05.20 20:05 jacek
- 20.05.20 20:35 Atlantis
- 20.05.20 20:48 Atlantis
- 20.05.20 21:31 Atlantis
- 21.05.20 11:13 Piotr Gałka
Najnowsze wątki z tej grupy
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
Najnowsze wątki
- 2025-02-05 Re: UK: Michał K. dalej czeka na rozprawę ekstradycyjną w areszcie [bo nie (jeszcze?) zebrał kaucji]
- 2025-02-04 ranking wyciszenia, głośność, hałas przy 130 km/h, na postoju, przy przyspieszaniu
- 2025-02-05 Warszawa => IT Recruiter <=
- 2025-02-05 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-05 Rzeszów => Spedytor Międzynarodowy <=
- 2025-02-05 Warszawa => IT Business Analyst <=
- 2025-02-05 Warszawa => Specjalista DevOps <=
- 2025-02-05 Łódź => NodeJS Developer <=
- 2025-02-05 Warszawa => QA Engineer (Quality Assurance) <=
- 2025-02-05 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-05 Warszawa => QA Engineer <=
- 2025-02-05 Warszawa => Programista Full Stack .Net <=
- 2025-02-05 Re: UK: Michał K. dalej czeka na rozprawę ekstradycyjną w areszcie [bo nie (jeszcze?) zebrał kaucji]
- 2025-02-04 podpisywanie umów z datą wsteczną
- 2025-02-04 Radio internetowe do starego Androida