KXG03の通信テスト。

Dependencies:   mbed

Committer:
matsujirushi
Date:
Sat Feb 11 02:52:02 2017 +0000
Revision:
0:0ebb76600d84
KXG03??????

Who changed what in which revision?

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