posilani dat

Dependencies:   FatFileSystemCpp mbed PowerControl USBHostLite

Committer:
PavelKumpan
Date:
Tue May 23 18:42:14 2017 +0000
Revision:
26:5674b8978551
Parent:
4:030c7726c7dc
Recreated communication protocol.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jkaderka 4:030c7726c7dc 1 #include <mbed.h>
jkaderka 2:f623d1815dc4 2
jkaderka 2:f623d1815dc4 3 void itoa(int num, int type, char *buf)
jkaderka 2:f623d1815dc4 4 {
jkaderka 2:f623d1815dc4 5 char *c = buf;
jkaderka 2:f623d1815dc4 6 char *start, *stop;
jkaderka 2:f623d1815dc4 7 int base = 10, digit;
jkaderka 2:f623d1815dc4 8 if (type == 'd' && num < 0) {
jkaderka 2:f623d1815dc4 9 *c++ = '-';
jkaderka 2:f623d1815dc4 10 num = -num;
jkaderka 2:f623d1815dc4 11 }
jkaderka 2:f623d1815dc4 12
jkaderka 2:f623d1815dc4 13 if (type == 'x') {
jkaderka 2:f623d1815dc4 14 base = 16;
jkaderka 2:f623d1815dc4 15 *c++ = '0';
jkaderka 2:f623d1815dc4 16 *c++ = 'x';
jkaderka 2:f623d1815dc4 17 }
jkaderka 2:f623d1815dc4 18 start = c;
jkaderka 2:f623d1815dc4 19
jkaderka 2:f623d1815dc4 20 /* create string from number */
jkaderka 2:f623d1815dc4 21 do {
jkaderka 2:f623d1815dc4 22 digit = num % base;
jkaderka 2:f623d1815dc4 23 *c++ = digit > 9 ? 'A' + digit - 10 : '0' + digit;
jkaderka 2:f623d1815dc4 24 } while (num /= base);
jkaderka 2:f623d1815dc4 25
jkaderka 2:f623d1815dc4 26 *c = '\0';
jkaderka 2:f623d1815dc4 27 stop = c - 1;
jkaderka 2:f623d1815dc4 28
jkaderka 2:f623d1815dc4 29 /* string is reversed, reverse it to the correct form */
jkaderka 2:f623d1815dc4 30 while (start < stop) {
jkaderka 2:f623d1815dc4 31 char tmp = *start;
jkaderka 2:f623d1815dc4 32 *start++ = *stop;
jkaderka 2:f623d1815dc4 33 *stop-- = tmp;
jkaderka 2:f623d1815dc4 34 }
jkaderka 2:f623d1815dc4 35 }
jkaderka 2:f623d1815dc4 36
jkaderka 2:f623d1815dc4 37 /*
jkaderka 2:f623d1815dc4 38 * Copy value of size bytes (use sizeof(type)) to buffer
jkaderka 2:f623d1815dc4 39 */
jkaderka 2:f623d1815dc4 40 void toBytes(char *buffer, void *value, size_t size)
jkaderka 2:f623d1815dc4 41 {
jkaderka 2:f623d1815dc4 42 int i;
jkaderka 2:f623d1815dc4 43
jkaderka 2:f623d1815dc4 44 for (i = 0; i < size; i++)
jkaderka 2:f623d1815dc4 45 buffer[i] = *((char *) value + i);
jkaderka 2:f623d1815dc4 46 }