Serial.print() VS File.print()
hy guys,
so, have not many experience... , question may silly...
i wanto log data coming out form currentcost energy meter.
i can see data coming out currentcost connected softwareserial pin rx. data clean , readable.
ÿÿÿÿÿÿÿÿÿÿÿÿ <msg><date><dsb>00082</dsb><hr>20</hr><min>34</min><sec>05</sec></date><src><name>cc02</name><id>02859</id><type>1</type><sver>1.06</sver></src><ch1><watts>00184</watts></ch1><ch2><watts>00000</watts></ch2><ch3><watts>00000</watts></ch3><tmpr>25.6</tmpr></msg>
i can write info , run exemple sdfat.
when mesh serial.print(nameofvariable) , sd operation (open file or file.print(nameofvariable)) data came not readable in terminal , on file. log data on file of sd, cannot read (as human) i've got.
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<&åi--`?&l02h<?&'?É/
?Å??oÉ
?0["?zÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<&z?²éxt)ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<?¬j¹?laÉ`ÿòÅ^??Á4 ?id<Ó0??m"ò<lµ??¦lòÿÿÿÿÿÿÿ<?âË&"
zÒ&?ÿÅb<â?âÁx?
&¬
"?<&"lÁ?Á0ò^âÿÿÿÿÿÿÿÿ<lz0"/??o zâ0k+ñ&Á?ùblâ a
7â¡dâ[å?âââÿÿÿÿÿÿ<â?&oat?
+Ðbo<?zòÂ"yÅ
?ÿù??Á[ÁòjÊÁ<§zÿÿÿÿÿÿÿÿÿ<o+j.Ízk2òo?
?smz² ù<yéòñ??ù"?5z&<?ùâzÿÿÿÿÿÿÿÿ<½eâââñ<"
ÿ&^ l/`ù'??
m??ÇÉ?
ñÉ
?0âlÁÿÿÿÿÿÿÿ<?
what i'm missing in sketch:
#include <sdfat.h>
#include <sdfatutil.h>
#include <softwareserial.h>
sd2card card;
sdvolume volume;
sdfile root;
sdfile file;
#define rxpin 4
#define txpin 300
softwareserial softserial = softwareserial(rxpin,txpin);
void setup(void)
{
pinmode(rxpin, input);
pinmode(txpin, output);
softserial.begin(9750);
serial.begin(9600);
serial.println();
pgmprintln("type character start");
while (!serial.available());
// initialize sd card
!card.init();
// initialize fat volume
!volume.init(card);
// open root directory
!root.openroot(volume);
serial.println();
serial.println("done");
}
void loop(void){
// file.writeerror = false;
!file.open(root, "currcost.log", o_creat | o_append | o_write);
char somechar = softserial.read();
//char somechar = softserial.read();
serial.print(somechar);
file.write(somechar);
!file.close() || file.writeerror ;
}
thanks in advance
so, have not many experience... , question may silly...
i wanto log data coming out form currentcost energy meter.
i can see data coming out currentcost connected softwareserial pin rx. data clean , readable.
ÿÿÿÿÿÿÿÿÿÿÿÿ <msg><date><dsb>00082</dsb><hr>20</hr><min>34</min><sec>05</sec></date><src><name>cc02</name><id>02859</id><type>1</type><sver>1.06</sver></src><ch1><watts>00184</watts></ch1><ch2><watts>00000</watts></ch2><ch3><watts>00000</watts></ch3><tmpr>25.6</tmpr></msg>
i can write info , run exemple sdfat.
when mesh serial.print(nameofvariable) , sd operation (open file or file.print(nameofvariable)) data came not readable in terminal , on file. log data on file of sd, cannot read (as human) i've got.
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<&åi--`?&l02h<?&'?É/
?Å??oÉ
?0["?zÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<&z?²éxt)ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<?¬j¹?laÉ`ÿòÅ^??Á4 ?id<Ó0??m"ò<lµ??¦lòÿÿÿÿÿÿÿ<?âË&"
zÒ&?ÿÅb<â?âÁx?
&¬
"?<&"lÁ?Á0ò^âÿÿÿÿÿÿÿÿ<lz0"/??o zâ0k+ñ&Á?ùblâ a
7â¡dâ[å?âââÿÿÿÿÿÿ<â?&oat?
+Ðbo<?zòÂ"yÅ
?ÿù??Á[ÁòjÊÁ<§zÿÿÿÿÿÿÿÿÿ<o+j.Ízk2òo?
?smz² ù<yéòñ??ù"?5z&<?ùâzÿÿÿÿÿÿÿÿ<½eâââñ<"
ÿ&^ l/`ù'??
m??ÇÉ?
ñÉ
?0âlÁÿÿÿÿÿÿÿ<?
what i'm missing in sketch:
#include <sdfat.h>
#include <sdfatutil.h>
#include <softwareserial.h>
sd2card card;
sdvolume volume;
sdfile root;
sdfile file;
#define rxpin 4
#define txpin 300
softwareserial softserial = softwareserial(rxpin,txpin);
void setup(void)
{
pinmode(rxpin, input);
pinmode(txpin, output);
softserial.begin(9750);
serial.begin(9600);
serial.println();
pgmprintln("type character start");
while (!serial.available());
// initialize sd card
!card.init();
// initialize fat volume
!volume.init(card);
// open root directory
!root.openroot(volume);
serial.println();
serial.println("done");
}
void loop(void){
// file.writeerror = false;
!file.open(root, "currcost.log", o_creat | o_append | o_write);
char somechar = softserial.read();
//char somechar = softserial.read();
serial.print(somechar);
file.write(somechar);
!file.close() || file.writeerror ;
}
thanks in advance

code: [select]
!card.init();the card.init() function returning value, negating , discarding. why bother negating it? don't care whether init() function succeeds?
code: [select]
!volume.init(card);same questions.
code: [select]
!root.openroot(volume);ditto.
code: [select]
!file.open(root, "currcost.log", o_creat | o_append | o_write);so, if file fails open, try write anyway. makes perfect sense me.
Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > Serial.print() VS File.print()
arduino
Comments
Post a Comment