Arduino CSV file
Arduino CSV file
Hej
Hur gör man för att i en CSV (komma separerad fi) lägga de olika värdena i egna variabler? EX 12,456,789 där 12 ska ligga i variabel 0, 456 i variabel 1 osv. Teckenlängden är mao inte konstant. Även intresserad av hur man gör då det ingår ascii tecken i CSV-filen.
Hur gör man för att i en CSV (komma separerad fi) lägga de olika värdena i egna variabler? EX 12,456,789 där 12 ska ligga i variabel 0, 456 i variabel 1 osv. Teckenlängden är mao inte konstant. Även intresserad av hur man gör då det ingår ascii tecken i CSV-filen.
Re: Arduino CSV file
Jag brukar att först ha texten som ska "splittas" i en buffer i sin helhet.
Sedan pekar jag på första tecken i den buffer och kallar atoi(). Den funktion omvandlar text till integer.
När jag har fått första värde rullar jag pekaren fram till första icke-siffer - och stegar ytterligare ett steg, förbi komman.
Detta upprepas till texten är slut och det kan såklart finnas diverse koll av om texten är slut, det är ny rad osv.
Ett annat sätt är att göra ung. det samma men istället strunta i atoi().
Om du har en variabel (X) och börjar med att låta den vara noll.
För varje siffra som läsas gör man:
X *= 10;
X += *Pekaren - '0';
Pekaren++;
När pekaren pekar på en icke-siffer är talet klart att använda, sedan stegar man över kommat och upprepar med nästa värde.
Sedan pekar jag på första tecken i den buffer och kallar atoi(). Den funktion omvandlar text till integer.
När jag har fått första värde rullar jag pekaren fram till första icke-siffer - och stegar ytterligare ett steg, förbi komman.
Detta upprepas till texten är slut och det kan såklart finnas diverse koll av om texten är slut, det är ny rad osv.
Ett annat sätt är att göra ung. det samma men istället strunta i atoi().
Om du har en variabel (X) och börjar med att låta den vara noll.
För varje siffra som läsas gör man:
X *= 10;
X += *Pekaren - '0';
Pekaren++;
När pekaren pekar på en icke-siffer är talet klart att använda, sedan stegar man över kommat och upprepar med nästa värde.
Re: Arduino CSV file
Var på Arduinon ska denna "fil" lagras?
Eller vill du bara ha ett format att skicka via t.ex. serieporten?
Eller vill du bara ha ett format att skicka via t.ex. serieporten?
Re: Arduino CSV file
CSV filen ska inte lagras, däremot ska delar av denna läggas i egna variabler.
Re: Arduino CSV file
Ah, OK. Jag vände på det...
Du har en sträng med värden separerade med komma
som du vill dela upp alltså. Här gör man något liknande:
https://gist.github.com/glynhudson/1138458
Du har en sträng med värden separerade med komma
som du vill dela upp alltså. Här gör man något liknande:
https://gist.github.com/glynhudson/1138458
Re: Arduino CSV file
Jag kollade på din länk, detta är exakt det jag sökte. Tackar för svaret, mycket nöjd.
Mvh Tommy
Mvh Tommy
-
- Inlägg: 18
- Blev medlem: 1 juni 2013, 18:07:48
Re: Arduino CSV file
Kanske löser funktionen scanf (eller sscanf) i stdio.h detta? Funktionen är utformad för att plocka data ur en ström i ett visst format.