Re: Fehler beim Schreiben auf SDC & Autostart Kategorie: CC-Pro Unit & Appl.Board (von Udo - 4.12.2013 22:20) | ||
Als Antwort auf Fehler beim Schreiben auf SDC & Autostart von Udo - 3.12.2013 17:21 | ||
| ||
> Hallo miteinander > Bin noch ein Greenhorn auf dem Gebiet und versuche mich mit einem kleinen Projekt . > Verwende die C-Control Pro MEGA128 Application PCB + DCF-Antenne für RTC + 4x16 LCD-Display + > DS18S20 Temperatursensor um eine Akku �berwachung ( Ladung - Entladung ) mit Ah-erfassung sowie > ein DSC-Interface von Conrad als Daten Logger umzusetzen. > Verwende derzeit Die IDE 2.13.0.15 und kann , wenn ich mein Programm (Code in CC) über RS232C an > das Appl.PCB übertragen habe und mit dem Blitz-Buton starte, auch vernünftige Datensätze schreiben > ohne Fehlermeldungen bei der Datenaufzeichnung zu bekommen. > Des weiteren ist mir aufgefallen ( Programm läuft über 24 Stunden ( Tag und Nacht ) > wenn ich am nächsten Tag den PC anwerfe werden für einige Zeit Fehler produziert ( 20-50 Minuten > lang e9) und keine Datenaufzeichnung. Renkt sich aber dann wieder ein und die Folgedaten sind ok. > Starte ich ohne PC-Verbindung ( RS-Schnittstelle ) durch "PWR on" am Board so erhalte ich e9 !! > Im Detail zuerst " schreibgeschütz und letzlich FR_INVALID_OBJECT --> e9 . > Habe daraufhin die neue IDE 2.31.0.89 mal versucht . > Dabei verhält sich mein Code deutlich anders PG3 --> LED geht an obwohl auf aus gesetzt. > Kommt wohl aus den DCF-Routinen ; die LED wird da als Sekunden-Tick verwendet. > Die fest an einem Poti eingestellte Spannung ( ein Teiler) der 5 Volt ( immer 5,01 Volt) liegt > ohne Veränderung ( gleicher ADC Eingang) um 0,35V höher -- kann ich nicht verstehen -- der vor > dem Port befindliche 10k + C als Tiefpass ist unverändert . Wird bei der neuen IDE anders > initialisiert ( interne Beschaltung ) ??? In meinem Code wird nichts veändert !!!! > Das Phänomen Fehlermeldung bei neu übertragenem Code bleib bestehen . Die DCF Uhr tickt auch falsch > wird nicht richtig übernommen. > Wer hat ähnliches zu berichten. > Könnte mit der alten IDE leben wenn ich den RS-port nicht benutzen mu�. > Bin für jegliche Hilfe sehr dankbar . > Danke und schöne Grüsse aus Oberschwaben > Udo > Hallo an das Forum !! Das ist noch keinen Antwort in dem Sinne, nur eine weitere Feststellung welche ich gemacht habe. Ich hoffe jemand ??? kann mir das Problem erklären --- stehe wirklich auf dem Schlauch !! folgender code läuft bei mir aus der IDE 2.13.0.15 mit dem Blitz Buton sauber ab und schreibt auf Das LCD und auf die SDC einen DIR sowie mehrere files. Entferne ich den RSStecker und Starte über PCB PWR on dan erfolgt eine Anzeige am LCD aber keine Daten oder oder files auf der SDC . Was ist da anders ????? hier der code: /******************************************************************************* Project Name: Write_File.cprj Required Libs's: IntFunc_lib.cc Files: Write_File.cc Writer: CCPRO-TEAM modified by U.Bernard 2.12.2013 Date: 02.09.2013 Function: 1.Check capacity of the SDCard 2.Create a new folder and write a new file max 20 then Access- LED is blinking or capacity <1 kB 3. write 2 lines Text into the file and show in the Debugger-Window nr. of bytes written Display Clock on LCD Display ( 4x16 char ) ------------------------------------------------------------------------------ MEGA Serie: Or C-Control PRO MEGA128 UNIT + Application PCB no USB !!! ------------------------------------------------------------------------------ Note: ----- PB0 - PB6 and PE5 Jumper removed sonst Konflikt mit USB Atiny SDC-Access-LED on PBG Port 52 MEGA128 -> C-Control Pro SD-Card holder required! C-Control SD-Card Interface Conrad BN: 197220 *******************************************************************************/ // must be global declared byte fat[562]; byte fil[32]; dword attrib[4]; dword size; int FileNr; char FileName[20]; byte minute, hour; // Global variables byte day , mon , year; byte sec, last_sec; /*------------------------------------------------------------------------------ name: programm_exit input: none output: none description: Endless loop with flashing accsess LED ------------------------------------------------------------------------------*/ void programm_exit(void) { Port_DataDirBit(52,1); Port_WriteBit(52,0); // toggle LED on PG4 (accsess led) while(1) { Port_ToggleBit(52); AbsDelay(100); } } void Display_Time(void) { char str[10]; // Output String hour=Clock_GetVal(CLOCK_HOUR); minute=Clock_GetVal(CLOCK_MIN); Str_Printf(str, "%02d:%02d:%02d", hour, minute, sec); LCD_CursorPos(0); // Set LCD Cursor LCD_WriteText(str); day=Clock_GetVal(CLOCK_DAY); mon=Clock_GetVal(CLOCK_MON); year=Clock_GetVal(CLOCK_YEAR); Str_Printf(str, "%02d-%02d-%02d", day,mon,year); LCD_CursorPos(0xC0); // Set LCD Cursor 2te Zeile LCD_WriteText(str); } /*------------------------------------------------------------------------------ name: main input: none output: none description: Main programm ------------------------------------------------------------------------------*/ void main(void) { //------------ Uhrzeit anzeigen auf LCD -------------------------------------- LCD_Init(); // Init Keyboard LCD_ClearLCD(); // Clear Display LCD_CursorOff(); // Turn Display Cursor off //void Clock_SetTime(byte hour, byte min, byte sec, char corr); Clock_SetTime(00,00,00,80); // Set date and start time // void Clock_SetDate(byte day, byte mon, byte year); Clock_SetDate(04,11,13); // n=0; // Var für Zeichenposition last_sec=Clock_GetVal(CLOCK_SEC); byte res; // Fehler Byte siehe Error Handling char buf[100], text[100]; // Speicher für Schreiben , Text-Speicher 101byte int i; int newfile; // Laufvariable für zusätzliche Einträge word bytes_written[1]; char free[20]; Display_Time(); for(newfile=0; newfile < 20 ; newfile++) { { sec=Clock_GetVal(CLOCK_SEC); if(sec!=last_sec) Display_Time(); last_sec=sec; } /**************************power on SD-Drive **********************************/ power_on_sdcard(); /*************************** SD-Card reset **********************************/ reset_sdcard(); /****************************accsess led on siehe SD-Drive *******************/ accsess_led_on(); /**************************** SD-Card initialize *****************************/ SDC_Init(fat); /**********************storage capacity of the SD-Card , <1K Programm exit*****/ size=get_free_sdcard("0:/"); // storage capacity is to low (< 1kByte), exit programm Str_Printf(free,"bytesfree: %ldrn",size); Msg_WriteText(free); if(size<1) { programm_exit(); } /******************* create new directorie ***********************************/ SDC_MkDir("0:/CC-PRO"); /***************** open or create file to write *******************************/ while(1) { FileNr++; Str_Printf(FileName,"0:/CC-PRO/log%d.txt",FileNr); // exist file? No then creat new file res=SDC_FOpen(fil, FileName, FA_READ|FA_WRITE|FA_OPEN_EXISTING); if(res!=0) { SDC_FOpen(fil, FileName, FA_WRITE|FA_CREATE_ALWAYS); break; } // maximum file nummbers is 20 if(FileNr>20)programm_exit(); } /*********************** write string to file ********************************/ buf= "Hello World. C-Control Pro now with SD-Card routines!rn"; SDC_FWrite(fil, buf, Str_Len(buf), bytes_written); Str_Printf(text, "bytes written:%dr", bytes_written[0]); Msg_WriteText(text); // write buffer to SD-Card SDC_FSync(fil); /*************************** close file ************************************/ SDC_FClose(fil); /************************ append strings to file ****************************/ res=SDC_FStat(FileName, attrib); size=attrib[0]; SDC_FOpen(fil, FileName, FA_READ|FA_WRITE|FA_OPEN_EXISTING); SDC_FSeek(fil, size); Str_Printf(buf,"Now we have a second string ,In the new File %d rn",(newfile+1)); SDC_FWrite(fil, buf, Str_Len(buf), bytes_written); SDC_FWrite(fil, free, Str_Len(free), bytes_written); Str_Printf(text, "bytes written:%dr", bytes_written[0]); Msg_WriteText(text); // write buffer to SD-Card SDC_FSync(fil); /************************** close file **************************************/ SDC_FClose(fil); /*************************** accsess led off ********************************/ accsess_led_off(); /***************************** power off ************************************/ power_off_sdcard(); //----------------------------- Warte Zeit 1 Minute -------------------------- AbsDelay(60000); } } Kann das jemand bestätigen oder mache ich da etwas granatenmässig falsch ??? Help Help Help oder beser SOS MfG Udo | ||
Antwort schreiben Antworten: Re: Fehler beim Schreiben auf SDC & Autostart (von UFABRD - 16.01.2014 15:43) Re: Fehler beim Schreiben auf SDC & Autostart (von Max - 16.01.2014 17:34) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum