NewLine \r\n

Status
Niet open voor verdere reacties.

HelpElec

Gebruiker
Lid geworden
6 mrt 2013
Berichten
102
Beste allemaal,

Ik ben een programma aan het schrijven voor een MC van Fujitsu. Deze zit via een seriele kabel verbonden met m'n laptop. Ik heb een C# applicatie gemaakt met Visual Studio, waarin ik gebruik maak van een SerialPort-component om te communiceren. De MC heeft een UART om te communiceren.
Dit werkt allemaal prima, chars en strings kunnen over en weer gestuurd worden.

Mijn probleem: Ik wil om de MC duidelijk te maken dat de 'string' ten einde is afsluiten met een '\r\n' of environment.newline een nieuwe regel dus. M'n MC moet dus controleren of het binnenkomend karakter '\n' is. '\r\n' pikt m'n compiler niet, is ook geen char. Maar dit krijg ik niet voor elkaar. Ik heb een if-structuur waarin een ledje wordt aangezet, maar dit gebeurt nooit. ik heb het volgende geprobeerd:

Code:
if(RcvdChar == 0x0A) // ASCII CODE VOOR '\n'
{
		LED_CONTROLE = 1;
}
if(RcvdChar == 10)
{
		LED_CONTROLE = 1;
}

if(RcvdChar == '\n')
{
		LED_CONTROLE = 1;
}

Vraag dus, hoe kan ik dit oplossen, wat is in C de juiste char voor newline? Hoe krijg ik dit voor elkaar? Zie ik iets over het hoofd?

Bij voorbaat dank!
 
Hallo Help Elec,

Hier is de wikipagina, hierin staan allemaal char's voor newline. http://en.wikipedia.org/wiki/Newline Deze kun je allemaal even proberen.

Je kunt misschien ook werken met een vaste lengte van je strings? dat je ze opvult met spaties? dan kun je gewoon tellen.
(zeker niet de handigste/snelste oplossing)

Kun je niet zelf een char verzinnen welke gelijk staat aan new line? dat je net voor versturen \n vervangt door bijvoorbeeld ß, ~, ©, € of een ander weinig gebruikt char? En dan op de MC instellen dat hij tot hier 1 string moet zien?

Succes

gr
Pek
 
Bedankt Pek voor de reactie!

Ik moet bekennen dat ik met dit probleem iets te snel naar hulp heb gevraagd, er is namelijk iets anders aan de hand :o.
De waarde van het 8 bit register dat geschreven wordt als er via UART een char binnenkomt, altijd 0xF8 is... Ongeacht welk karakter of welke karakters er geschreven worden. Dit is geen Ascii-karakter.
Iemand een idee, ervaring met UART?
 
Laatst bewerkt:
Okay, hartelijk dank!

Probleem was eigenlijk heel simpel... M'n SerialPort-component had niet dezelfde baudrate als m'n UART. Stom van me :o.
Bedankt voor de hulp!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan