Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
ByteOperations.cpp@2:ddae311a4533, 2013-10-30 (annotated)
- Committer:
- jeroen3
- Date:
- Wed Oct 30 21:59:32 2013 +0000
- Revision:
- 2:ddae311a4533
- Parent:
- 0:d0306c0cbee6
fix led blink after soft reset
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| jeroen3 | 0:d0306c0cbee6 | 1 | #include "ByteOperations.h" |
| jeroen3 | 0:d0306c0cbee6 | 2 | #include <stdint.h> |
| jeroen3 | 0:d0306c0cbee6 | 3 | |
| jeroen3 | 0:d0306c0cbee6 | 4 | |
| jeroen3 | 0:d0306c0cbee6 | 5 | /* low index equals low nibble */ |
| jeroen3 | 0:d0306c0cbee6 | 6 | /* Write 32 bit var to 4 bytes */ |
| jeroen3 | 0:d0306c0cbee6 | 7 | void write_32_to_8(int *i, uint8_t dst[], uint32_t src){ |
| jeroen3 | 0:d0306c0cbee6 | 8 | dst[(*i)++] = (src >> 0)&0xFF ; |
| jeroen3 | 0:d0306c0cbee6 | 9 | dst[(*i)++] = (src >> 8)&0xFF ; |
| jeroen3 | 0:d0306c0cbee6 | 10 | dst[(*i)++] = (src >> 16)&0xFF; |
| jeroen3 | 0:d0306c0cbee6 | 11 | dst[(*i)++] = (src >> 24)&0xFF; |
| jeroen3 | 0:d0306c0cbee6 | 12 | } |
| jeroen3 | 0:d0306c0cbee6 | 13 | |
| jeroen3 | 0:d0306c0cbee6 | 14 | /* Write 16 bit var to 2 bytes */ |
| jeroen3 | 0:d0306c0cbee6 | 15 | void write_16_to_8(int *i, uint8_t dst[], uint16_t src){ |
| jeroen3 | 0:d0306c0cbee6 | 16 | dst[(*i)++] = (src >> 0)&0xFF ; |
| jeroen3 | 0:d0306c0cbee6 | 17 | dst[(*i)++] = (src >> 8)&0xFF ; |
| jeroen3 | 0:d0306c0cbee6 | 18 | } |
| jeroen3 | 0:d0306c0cbee6 | 19 | |
| jeroen3 | 0:d0306c0cbee6 | 20 | /* Write 4 bytes to 32 bit var*/ |
| jeroen3 | 0:d0306c0cbee6 | 21 | uint32_t read_8_to_32(int *i, uint8_t *src){ |
| jeroen3 | 0:d0306c0cbee6 | 22 | uint32_t data = 0; |
| jeroen3 | 0:d0306c0cbee6 | 23 | data |= (src[(*i)++] << 0) ; |
| jeroen3 | 0:d0306c0cbee6 | 24 | data |= (src[(*i)++] << 8) ; |
| jeroen3 | 0:d0306c0cbee6 | 25 | data |= (src[(*i)++] << 16); |
| jeroen3 | 0:d0306c0cbee6 | 26 | data |= (src[(*i)++] << 24); |
| jeroen3 | 0:d0306c0cbee6 | 27 | return data; |
| jeroen3 | 0:d0306c0cbee6 | 28 | } |
| jeroen3 | 0:d0306c0cbee6 | 29 | |
| jeroen3 | 0:d0306c0cbee6 | 30 | /* Write 2 bytes to 16 bit var*/ |
| jeroen3 | 0:d0306c0cbee6 | 31 | uint16_t read_8_to_16(int *i, uint8_t *src){ |
| jeroen3 | 0:d0306c0cbee6 | 32 | uint16_t data = 0; |
| jeroen3 | 0:d0306c0cbee6 | 33 | data |= (src[(*i)++] << 0) ; |
| jeroen3 | 0:d0306c0cbee6 | 34 | data |= (src[(*i)++] << 8) ; |
| jeroen3 | 0:d0306c0cbee6 | 35 | return data; |
| jeroen3 | 0:d0306c0cbee6 | 36 | } |
| jeroen3 | 0:d0306c0cbee6 | 37 |