Sida 1 av 5
Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 20:12:39
av Al_Bundy
Hej. Jag installerade Mathworks stöd för Arduino och i Simulink så kan man enkelt programmera en Avr utan att skriva C-kod.
Men det finns ett block som har seriell kommunikation via RT,TX pinnarna. Men om jag ska skicka talet 0 så måste jag skicka 48 för 48 är tabellvärdet 0 i ASCI tabellen.
Men tänk om jag vill skicka följande data.
"34.06#67#0.05#TRUE#FALSE" ?
Tänkte skicka värden via en enda sträng!

Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 20:34:01
av olalofberg
http://www.asciitable.com/index/asciifull.gif
Konvertera talet till ascii, kolla upp värdena och skicka...
51,52,46,48,54,35.... o.s.v.
..och låt mottagaren dekoda.
Eller missförstod jag frågan?
Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 20:37:09
av danei
Antagligen. Bundys frågor brukar missförstås, av förklarliga orsaker.
Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 20:54:42
av TomasL
Frågan är omöjlig att svara på, då det beror på hur det är representerat i koden.
Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 20:57:33
av Al_Bundy
Ja. Detta är mer en simulinkfråga.

Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 21:01:41
av TomasL
Nej det är det inte, det är en fråga hur data är representerade.
Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 21:07:42
av Al_Bundy
Nu hänger jag inte med? Hur menar du?
Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 21:12:53
av TomasL
Tja är data textsträngar, INTar etc.
Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 21:27:54
av Al_Bundy
Jo, du använde ett förvirrande ordval men jag förstår dig.
Men vi säger att jag ska skriva ut strängen "10", dvs talet 10. Då måste jag skicka ASCII 49 och sedan direkt efter ASCI 48?
Fråga inte vad jag menar med "ASCII 48", för du vet exakt vad jag menar

Jag tål inte och bli tillrättavisad halv 10 på kvällen bara för ordval i en teknisk fråga

Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 21:28:54
av danei
Vad är frågan då?
Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 21:31:06
av Al_Bundy
Hur man skickar strängen "hej" via funktionen write(); hos arduino. Det är inte exakt i arduino jag ska göra det. Jag ska göra det i simulink som har stöd för serial write och serial read.
Eller är write till bara för att skicka ETT tecken i taget?
Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 21:39:30
av danei
Exakt vilken "write" funktion är det du ska använda? Jag gissar att det finns en beskrivning av vad funktionen gör.
Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 21:43:29
av MiaM
Vad står det i dokumentationen för write?
Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 21:47:50
av Al_Bundy
danei skrev:Exakt vilken "write" funktion är det du ska använda? Jag gissar att det finns en beskrivning av vad funktionen gör.
Det står inget om just write förutom att den vill ha ett värde som är uint.
http://se.mathworks.com/help/supportpkg ... fresh=true
Jag misstänker att jag måste konvertera om en sträng till uint. Men jag är icke pro på Simulink.
Re: Hur skicka strängar via ASCII?
Postat: 12 februari 2015, 21:50:02
av TomasL
TJa, det beror helt på hur rutinerna för att skicka via uarten är konstruerade, vissa tar strängar, vissa inte.
Dessutom beror det ju på hur du skriver argumenten till funktionen
puts("Hello World") skickar strängen "Hello World" i asciiform .
puts("1234") skickar 1234 i asciiform
puts(1234) skickar "04d2" dvs 1234 i binär/hexadecimal form.
Så du får nog förklara lite tydligare, dessutom läsa på i dina manualer hur de olika funktionerna fungerar