Microchip'i C keel
#4
Tänud nõu andmast, probleem on lahendatud. Osa oli sellest, et ma ei saa ikka C bürokraatiale (minu meelest) pihta ja osa oli C18 erinippides.
Lõplik koodilõik tuli säärane:
Kood:
...
char FailiName[32];                            // logifaili nime moodustamiseks
....
                        rtc_get (DS_Aeg);                            // vaatame kella, WORD year, BYTE - muud aja muutujad
                        year=DS_Aeg->tm_year;
                        month=DS_Aeg->tm_mon;
                        day=DS_Aeg->tm_mday;
                        hours=DS_Aeg->tm_hour;
                        minutes=DS_Aeg->tm_min;
                        seconds=DS_Aeg->tm_sec;
                        itoa (year,FailiName);
                        btoa (month,tmpstr);
                        strcatpgm2ram (FailiName, "-");
                        strcat (FailiName, tmpstr);
                        btoa (day,tmpstr);
                        strcatpgm2ram (FailiName, "-");
                        strcat (FailiName, tmpstr);
                        strcatpgm2ram (FailiName, ".csv");
                        strcpypgm2ram(fo_mode,"a");
                           logFile = FSfopen(FailiName, fo_mode);        // avame faili appendiks või kui sellise nimega veel pole siis tekitame
                        btoa (hours,FailiName);                        // kirjutab: hh:mm:ss power restored, muutuja FailiName taaskasutamine :)
                        btoa (minutes,tmpstr);
                        strcatpgm2ram (FailiName, ":");
                        strcat (FailiName, tmpstr);
                        strcatpgm2ram (FailiName, ":");
                        btoa (seconds,tmpstr);
                        strcat (FailiName, tmpstr);
                        strcatpgm2ram (FailiName, ",Power restored \r\n");
                        FSfwrite((const void*)&FailiName[0],1,sizeof(FailiName),logFile);  
...

Selgub, et 18-seeria puhul tuleb kasutada *pgm funtsiooni (strcatpgm2rm jne) sest muidu ei suudeta flashist asja RAMi lugeda (ilmselt ei kasutata siis TBLRD*+ asmi käsku. Miks aga see on vajalik info liigutamisel RAMi sees, pole selge. Igatahes nii netis soovitati ja nii toimis ka.
Ma ei saa aru...räägitakse ju, et C-s on kõik lihtne ja eriti mugav...?
Vasta


Sõnumeid selles teemas
Microchip'i C keel - Autor: felch - 06-06-2012, 07:32 PM
RE: Microchip'i C keel - Autor: tvtv - 07-06-2012, 11:16 AM
RE: Microchip'i C keel - Autor: Mtj - 07-06-2012, 06:03 PM
RE: Microchip'i C keel - Autor: felch - 07-06-2012, 08:45 PM
RE: Microchip'i C keel - Autor: andrei - 08-06-2012, 01:18 PM
RE: Microchip'i C keel - Autor: tvtv - 11-06-2012, 10:17 AM
RE: Microchip'i C keel - Autor: A.R. - 11-06-2012, 11:27 AM
RE: Microchip'i C keel - Autor: andrei - 11-06-2012, 01:13 PM
RE: Microchip'i C keel - Autor: A.R. - 13-06-2012, 01:18 PM
RE: Microchip'i C keel - Autor: felch - 13-06-2012, 02:47 PM
RE: Microchip'i C keel - Autor: tvtv - 13-06-2012, 04:14 PM
RE: Microchip'i C keel - Autor: ahelet - 29-06-2012, 03:22 PM
RE: Microchip'i C keel - Autor: tvtv - 03-07-2012, 11:02 AM
RE: Microchip'i C keel - Autor: ahelet - 09-01-2013, 10:04 PM
RE: Microchip'i C keel - Autor: tvtv - 10-01-2013, 12:50 PM
RE: Microchip'i C keel - Autor: A.R. - 10-01-2013, 01:48 PM
RE: Microchip'i C keel - Autor: Teemo - 07-03-2013, 01:39 PM
RE: Microchip'i C keel - Autor: A.R. - 08-03-2013, 11:19 AM
RE: Microchip'i C keel - Autor: Teemo - 08-03-2013, 02:09 PM
RE: Microchip'i C keel - Autor: A.R. - 08-03-2013, 03:56 PM
RE: Microchip'i C keel - Autor: tvtv - 08-03-2013, 06:22 PM
RE: Microchip'i C keel - Autor: tvtv - 20-03-2013, 06:21 PM

Alamfoorumi hüpe:


Kasutaja, kes vaatavad seda teemat: 2 külali(st)ne