-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.n
et!aioe.org!peer02.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!n
ewsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.p
l!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: karta SD na SPI zawiesza AtXmega128A3U
Newsgroups: pl.misc.elektronika
References: <5ec5483f$0$546$65785112@news.neostrada.pl>
<ra3mno$1oj$1@z-news.wcss.wroc.pl>
From: Atlantis <m...@w...pl>
Date: Wed, 20 May 2020 20:01:19 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
Thunderbird/68.8.0
MIME-Version: 1.0
In-Reply-To: <ra3mno$1oj$1@z-news.wcss.wroc.pl>
Content-Type: text/plain; charset=utf-8
Content-Language: pl
Content-Transfer-Encoding: 8bit
Lines: 35
Message-ID: <5ec5706f$0$542$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.27.168.12
X-Trace: 1589997679 unt-rea-a-02.news.neostrada.pl 542 83.27.168.12:42336
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 2312
X-Received-Body-CRC: 4093194322
Xref: news-archive.icm.edu.pl pl.misc.elektronika:753491
[ ukryj 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
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
- Znów czary (albo niewiedza) - tym razem fotowoltaika
- Chess
- Vitruvian Man - parts 7-11a
- przeźroczyste koszulki
- Re: Win 10/11 nie lubi OKI
- Programator czasowy TUYA.
- Dlaczego energia elektryczna jest droga i cały czas drożeje
- twardy dysk stuka
- Oclenie alkalicznych akumulatorów
Najnowsze wątki
- 2024-05-12 Metrologia
- 2024-05-12 app do udostepniania ekranu tel (obraz + audio) na ekran tv
- 2024-05-12 Smukły, długi ściągacz izolacji do kynaru
- 2024-05-12 Afera II LO w Nowym Sączu wypracowanie
- 2024-05-12 rezystor 3 omy 400W
- 2024-05-12 Dwukabinowy Citroen - dziwadło pod zabudowę spec
- 2024-05-12 Co oznacza Wi-Fi? - po prostu nic!
- 2024-05-11 Chess
- 2024-05-11 Chess
- 2024-05-11 Vitruvian Man - parts 7-11a
- 2024-05-11 Vitruvian Man - parts 7-11a
- 2024-05-11 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-05-11 Poznań => Business Development Manager - obszar bezpieczeństwa IT <=
- 2024-05-11 Vitruvian Man - parts 1-6
- 2024-05-11 Vitruvian Man - parts 1-6