Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
12 years, 2 months ago.
print an Ascii
can someone help me how to increment an ASCII character? i feel dumb.
my code below.
char a = 'a';
if (_ps3report->PressureCircle > 0 )
{
printf("output: %c ", a );
}
a++;
2 Answers
12 years, 2 months ago.
Hi kilo, your code looks fine, perhaps something else in the code is making it fail?, I probe this code to show in my lcd the first three letters and works fine:
#include "mbed.h"
#include "C12832_lcd.h"
C12832_LCD lcd;
int main() {
char a='a';
while(1) {
lcd.printf("Character: %c\n",a);
if(a=='c')
break;
a++;
}
}
Greetings
12 years, 2 months ago.
You need to do somethinl like this, assuming you want to display a, b, c ..
..
char ascii = 'a';
// print out the 'a'
lcd.printf ("First time $c .. \r\n", ascii);
// increment value ..
ascii ++;
lcd.printf ("Inced by one .. %c", ascii);
lcd.printf ("Inced by one again .. %c", ++ascii); // inc before use
lcd.printf ("Inced by one .. %c", ascii++); // inc after use ..
lcd.printf ("Inced by one .. %c", ascii++); // inc after use ..
hope that was usefull,
Ceri
i did some few changes on my code based on yours,
char a = 'a';
printf("output: %c \n", a);
if (_ps3report->PressureCircle > 0 ) {
a++;
but output only displays
Mac address is set to 00:02:72:AD:F3:5B , result = 8 output: a output: a output: a output: a output: a output: a output: a output: a output: a output: a
its not increasing or changing to B going Z, it just displays letter 'a'
posted by 15 Aug 2013The question is how you used it in your code. My guess is that it is a function called in response to USB input. So everytime a USB packet has arrived char a is set at 'a', and it is checked what kind of ps3report you got. If you want it to increment you need to define a globally if it is a C-style function, or if it is a class define it in your .h file as variable. In the constructor initiate it at 'a', and then you can happily increment it.
posted by 15 Aug 2013
I guess you figured out now that if should be while...
posted by Ad van der Weiden 14 Aug 2013