posilani dat
Dependencies: FatFileSystemCpp mbed PowerControl USBHostLite
utils.cpp@26:5674b8978551, 2017-05-23 (annotated)
- 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?
User | Revision | Line number | New 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 | } |