Design-in of LPC11U24 (lqfp48) of mbed as Steppermotor controller with USB control.

Dependencies:   USBDevice mbed

Mbed repository of Stepper Motor Control board. Using mbed LPC11U24 chip with HID USB.

Hardware in copy repo on bitbucket https://bitbucket.org/jeroen3/stepper-motor-board

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?

UserRevisionLine numberNew 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