Takashi Matsuoka
/
KXG03_TEST
KXG03の通信テスト。
main.cpp@0:0ebb76600d84, 2017-02-11 (annotated)
- Committer:
- matsujirushi
- Date:
- Sat Feb 11 02:52:02 2017 +0000
- Revision:
- 0:0ebb76600d84
KXG03??????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
matsujirushi | 0:0ebb76600d84 | 1 | #include "mbed.h" |
matsujirushi | 0:0ebb76600d84 | 2 | |
matsujirushi | 0:0ebb76600d84 | 3 | SPI Spi(P10_14, P10_15, P10_12); |
matsujirushi | 0:0ebb76600d84 | 4 | DigitalOut Cs(P10_13, 1); |
matsujirushi | 0:0ebb76600d84 | 5 | |
matsujirushi | 0:0ebb76600d84 | 6 | #define CTL_REG_1 (0x44) |
matsujirushi | 0:0ebb76600d84 | 7 | |
matsujirushi | 0:0ebb76600d84 | 8 | void KXG03Write(uint8_t address, const uint8_t* payload, int payloadSize) |
matsujirushi | 0:0ebb76600d84 | 9 | { |
matsujirushi | 0:0ebb76600d84 | 10 | Cs = 0; |
matsujirushi | 0:0ebb76600d84 | 11 | wait_us(1); |
matsujirushi | 0:0ebb76600d84 | 12 | Spi.write(address & ~0x80); |
matsujirushi | 0:0ebb76600d84 | 13 | while (payloadSize--) |
matsujirushi | 0:0ebb76600d84 | 14 | { |
matsujirushi | 0:0ebb76600d84 | 15 | Spi.write(*payload++); |
matsujirushi | 0:0ebb76600d84 | 16 | } |
matsujirushi | 0:0ebb76600d84 | 17 | wait_us(1); |
matsujirushi | 0:0ebb76600d84 | 18 | Cs = 1; |
matsujirushi | 0:0ebb76600d84 | 19 | wait_us(1); |
matsujirushi | 0:0ebb76600d84 | 20 | } |
matsujirushi | 0:0ebb76600d84 | 21 | |
matsujirushi | 0:0ebb76600d84 | 22 | void KXG03Read(uint8_t address, uint8_t* payload, int payloadSize) |
matsujirushi | 0:0ebb76600d84 | 23 | { |
matsujirushi | 0:0ebb76600d84 | 24 | Cs = 0; |
matsujirushi | 0:0ebb76600d84 | 25 | wait_us(1); |
matsujirushi | 0:0ebb76600d84 | 26 | Spi.write(address | 0x80); |
matsujirushi | 0:0ebb76600d84 | 27 | while (payloadSize--) |
matsujirushi | 0:0ebb76600d84 | 28 | { |
matsujirushi | 0:0ebb76600d84 | 29 | *payload++ = Spi.write(0); |
matsujirushi | 0:0ebb76600d84 | 30 | } |
matsujirushi | 0:0ebb76600d84 | 31 | wait_us(1); |
matsujirushi | 0:0ebb76600d84 | 32 | Cs = 1; |
matsujirushi | 0:0ebb76600d84 | 33 | wait_us(1); |
matsujirushi | 0:0ebb76600d84 | 34 | } |
matsujirushi | 0:0ebb76600d84 | 35 | |
matsujirushi | 0:0ebb76600d84 | 36 | int main() |
matsujirushi | 0:0ebb76600d84 | 37 | { |
matsujirushi | 0:0ebb76600d84 | 38 | wait_ms(1000); |
matsujirushi | 0:0ebb76600d84 | 39 | |
matsujirushi | 0:0ebb76600d84 | 40 | uint8_t data; |
matsujirushi | 0:0ebb76600d84 | 41 | KXG03Read(CTL_REG_1, &data, sizeof (data)); |
matsujirushi | 0:0ebb76600d84 | 42 | |
matsujirushi | 0:0ebb76600d84 | 43 | data |= 0x20; |
matsujirushi | 0:0ebb76600d84 | 44 | KXG03Write(CTL_REG_1, &data, sizeof (data)); |
matsujirushi | 0:0ebb76600d84 | 45 | |
matsujirushi | 0:0ebb76600d84 | 46 | KXG03Read(CTL_REG_1, &data, sizeof (data)); |
matsujirushi | 0:0ebb76600d84 | 47 | } |