f
Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/sessions.php on line 548

Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/sessions.php on line 549

Warning: Cannot modify header information - headers already sent by (output started at /home/anderian/ftp/www_forum/db/mysql4.php:1) in /home/anderian/ftp/www_forum/includes/page_header.php on line 343
And-Tech :: Zobacz temat - Karta SD problem

Strona korzysta z plików cookie w celu realizacji usług zgodnie z Politykš prywatnoœci.

Możesz okreœlić warunki przechowywania lub dostępu do cookie w Twojej przeglšdarce lub konfiguracji usługi.

And-Tech Strona Główna And-Tech
Forum firmy And-Tech

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  AlbumAlbum  DownloadDownload

Poprzedni temat «» Następny temat
Karta SD problem
Autor Wiadomość
pawelec5

Dołączył: 29 Lut 2012
Posty: 8
Wysłany: Wto Mar 13, 2012 10:38 pm   Karta SD problem

Witam.
Posiadam EvB 4.3v4 ATMega644P PROFESIONAL i napisałem sobie program obsługujący kotłownię solara itd. i potrzebuję zrobić zapis na kartę SD tylko nie mogę sobię poradzić.
Źródło programu mam ze strony producenta.

Wyskakuje mi jakiś błąd i nie wiem co on oznacza.
Nie mogę znaleźć kodów tych błędów.


Może teraz po koleji:

Po sformatowaniu karty w formacie fat i uruchomieniu programu do sprawdzania karty jest ok


Ale po wgraniu programu do dopisywania pliku:


treść karty wygląda następująco:


Czyli zapis był wykonany tylko raz:(

Po kolejnym włożeniu karty do Atmegi i próbie zapisania pojawia się znowu komunikat błędu:(


Proszę o poradę co z tym zrobić.
 
     
piotr94 
Site Admin

Dołączył: 02 Lut 2010
Posty: 606
Skąd: Kraków
Wysłany: Sro Mar 14, 2012 4:12 pm   

1. Skąd jest płytka zasilana? Czy czytałeś opis problemów z zasilaniem przez USB i kartami SD?
2. Czy podczas wyjmowania karty z komputera (czytnika prze komputerze) stosujesz bezpieczne usuwanie sprzętu?
3. Kody błędów są dostępne tu: http://members.aon.at/voe...File_System.htm , kod 17 oznacza uszkodzenie systemu plików (czyli uszkodzenie poprawnego sformatowania karty SD). Taki efekt może spowodować wyjęcie karty z komputera bez bezpiecznego usuwania lub wyjęcie karty z układu EvB podczas przeprowadzania jakiegoś zapisu.
4. Problemem jest chyba zapomnienie o zamknięciu pliku po odczycie (mój błąd i niedopatrzenie w kursie)
Kod:
Loop Until Eof(#ff) <> 0   
'dopisanie poniższej linijki w odpowiednim miejscu powinno rozwiązać problem
Close #ff

Jeśli to zniweluje problem to dodam odpowiednią adnotację do kursu.
_________________
http://www.piotr94.net21.pl/
 
     
pawelec5

Dołączył: 29 Lut 2012
Posty: 8
Wysłany: Nie Mar 18, 2012 8:41 pm   

Dodanie "close ff" jaknajbardziej pomogło.

Po uruchomieniu programu "dopisywanie pliku" wszystko działa poprawnie.

Tylko nie rozumiem dlaczego jak wkleję ten podprogram do mojego programu występuje problem zapisu.

Polega on na tym, że program przy pierwszej próbie zapisu tworzy tylko pusty plik i nie zapisuje danych.
Przy drugiej próbie zapisu program się zawiesza. Czyli problem jest chyba przy 1 zapisie do pustego pliku.
Po długich próbach znalazłem wyjście które pomaga: Utworzyć plik o tej samej nazwie i zapisać "cokolwiek" w nim na komputerze. Później Atmega dopisuje bez problemu kolejne zapisy.
Chciałbym z każdego dnia mieć osobny plik więc tak nie mogę robić.
Proszę o pomoc.

sub zapis.gif
Plik ściągnięto 246 raz(y) 118,44 KB

 
     
piotr94 
Site Admin

Dołączył: 02 Lut 2010
Posty: 606
Skąd: Kraków
Wysłany: Pon Mar 19, 2012 5:13 pm   

Nie wiem czy nie występuje tu problem ze stosem - czy tak samo będzie jak dasz ten kod bezpośrednio do ciała programu, nie w subie
_________________
http://www.piotr94.net21.pl/
 
     
pawelec5

Dołączył: 29 Lut 2012
Posty: 8
Wysłany: Pon Mar 19, 2012 8:10 pm   

Tak jest:) Jak pominąłem "sub" Program działa prawidłowo. Możesz mi wyjaśnić o co chodzi z tym stosem i "SUB"??? Jestem nowicjuszem w programowaniu.

Dzieki za pomoc.
 
     
piotr94 
Site Admin

Dołączył: 02 Lut 2010
Posty: 606
Skąd: Kraków
Wysłany: Wto Mar 20, 2012 4:07 pm   

W moim kursie nieco opisałem ten problem w lekcji o funkcjach.
Otóż Sub to też jest taka funkcja w rzeczywistości a sprawa wygląda tak:
w programie deklarujemy parametry swstack, hwstack i framesize (w C za wszystko to jest odpowiedzialny jeden stos zapełniany od końca pamięci ram, więc lepiej), które określają ile miejsca NA POCZĄTKU napięci ram ma zostać zarezerwowane na zmienne tworzone i przekazywane do funkcji (np. zmienne tymczasowe podczas zapisu na kartę SD). Zaraz za tą sekcją pamięci ram znajduje się sekcja zmiennych globalnych (tych deklarowanych w programie głównym). Jeśli teraz nasze parametry są zbyt małe (na początku pamięci zostało zarezerwowane za mało miejsca do obsłużenia wszystkich zmiennych z funkcji) to wtedy zmienne te zaczynają nadpisywać zmienne globalne i na odwrót - mamy 90% szans na nieprawidłowe działanie programu i 10% na zawieszenie procesora. Rozwiązaniem powinno być opisane w kursie zwiększenie wymienionych parametrów
_________________
http://www.piotr94.net21.pl/
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group