Encoder IC AS5040 test program.

Dependencies:   mbed

Committer:
matsujirushi
Date:
Wed Oct 08 11:35:43 2014 +0000
Revision:
1:22538ea9c2ba
Parent:
0:0ace6ddff9f1
Remove unused libraries.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
matsujirushi 0:0ace6ddff9f1 1 #include "mbed.h"
matsujirushi 0:0ace6ddff9f1 2
matsujirushi 0:0ace6ddff9f1 3 Serial pc(USBTX, USBRX);
matsujirushi 0:0ace6ddff9f1 4
matsujirushi 0:0ace6ddff9f1 5
matsujirushi 0:0ace6ddff9f1 6 DigitalOut CSn(dp28);
matsujirushi 0:0ace6ddff9f1 7 DigitalOut CLK(dp26);
matsujirushi 0:0ace6ddff9f1 8 DigitalIn DO(dp25);
matsujirushi 0:0ace6ddff9f1 9
matsujirushi 0:0ace6ddff9f1 10 int main() {
matsujirushi 0:0ace6ddff9f1 11
matsujirushi 0:0ace6ddff9f1 12 // Initial.
matsujirushi 0:0ace6ddff9f1 13 CSn = 1;
matsujirushi 0:0ace6ddff9f1 14 CLK = 1;
matsujirushi 0:0ace6ddff9f1 15
matsujirushi 0:0ace6ddff9f1 16 pc.baud(115200);
matsujirushi 0:0ace6ddff9f1 17 pc.printf("Ready.\r\n");
matsujirushi 0:0ace6ddff9f1 18
matsujirushi 0:0ace6ddff9f1 19 for (;;)
matsujirushi 0:0ace6ddff9f1 20 {
matsujirushi 0:0ace6ddff9f1 21 CSn = 0;
matsujirushi 0:0ace6ddff9f1 22 wait_us(1);
matsujirushi 0:0ace6ddff9f1 23
matsujirushi 0:0ace6ddff9f1 24 uint16_t data = 0;
matsujirushi 0:0ace6ddff9f1 25 for (int i = 0; i < 16; i++)
matsujirushi 0:0ace6ddff9f1 26 {
matsujirushi 0:0ace6ddff9f1 27 CLK = 0;
matsujirushi 0:0ace6ddff9f1 28 wait_us(1);
matsujirushi 0:0ace6ddff9f1 29 CLK = 1;
matsujirushi 0:0ace6ddff9f1 30 wait_us(1);
matsujirushi 0:0ace6ddff9f1 31
matsujirushi 0:0ace6ddff9f1 32 data <<= 1;
matsujirushi 0:0ace6ddff9f1 33 if (DO.read()) data |= 1;
matsujirushi 0:0ace6ddff9f1 34 }
matsujirushi 0:0ace6ddff9f1 35 CSn = 1;
matsujirushi 0:0ace6ddff9f1 36
matsujirushi 0:0ace6ddff9f1 37 uint16_t angular = data >> 6;
matsujirushi 0:0ace6ddff9f1 38 uint16_t status = (data >> 1) & 0x1f;
matsujirushi 0:0ace6ddff9f1 39 pc.printf("%03x %02x\r\n", angular, status);
matsujirushi 0:0ace6ddff9f1 40
matsujirushi 0:0ace6ddff9f1 41 wait(0.2);
matsujirushi 0:0ace6ddff9f1 42 }
matsujirushi 0:0ace6ddff9f1 43 }
matsujirushi 0:0ace6ddff9f1 44