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.
10 years, 10 months ago.
Problem with 8th bit on putc serial
putc is working with both the Serial class and the USBSerial class, and thus I am able to send on either USB connection on the KL25Z. BUT: this only works with values 0x00-0x0f. 0x10-oxff all get turned into 0xf0. I have double, triple, and quadruple checked the COM settings (I just use 9600, 8 bits per byte, no parity, and 1 stop bit) in both my mbed program, and in the COM monitoring programs. I have tried a couple of different COM monitoring programs, and both see 0xf0 instead of the correct value, so I am assuming this is on the mbed end of things.
2 Answers
10 years, 10 months ago.
I ran the following code:
#include "mbed.h" Serial pc(USBTX, USBRX); int main() { for (int i = 0; i<256; i++) pc.putc(i); while (1) { } }
And used Matlab to receive (Teraterm isn't exactly useful for getting binary data), with:
fread(s1, s1.BytesAvailable, 'uint8')
(and s1 serial object). Can copy paste the result, but won't add much, it is a nice list from 0 to 255.
10 years, 10 months ago.
if you can spair the overhead, then send as TWO ASCII bytes,
eg. $A7
becomes $41, $37
or a little faster just add $30, to each nibble, so you end up with:
0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?
for 0123456789abcdef
don't forget to send both nibbles.
??
try using unsinged char first ????
Cheers
Ceri