SAURABH DESAI
/
ECE595_FRDM-K64F_TO_S32K144_UART
Code to send data from a FRDM-K64F development board to any board through UART.
main.cpp@0:585ff5a0167f, 2019-03-24 (annotated)
- Committer:
- saurabh2691
- Date:
- Sun Mar 24 06:45:18 2019 +0000
- Revision:
- 0:585ff5a0167f
Code for UART connection between FRDM-K64F and S32K144 development board. Data is sent from the FRDM-K64F to the S32K144 board.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
saurabh2691 | 0:585ff5a0167f | 1 | #include "mbed.h" |
saurabh2691 | 0:585ff5a0167f | 2 | #include "FXOS8700Q.h" // Sensor Header File |
saurabh2691 | 0:585ff5a0167f | 3 | #include "math.h" |
saurabh2691 | 0:585ff5a0167f | 4 | #include <string> |
saurabh2691 | 0:585ff5a0167f | 5 | |
saurabh2691 | 0:585ff5a0167f | 6 | FXOS8700Q_acc acc( PTE25, PTE24, FXOS8700CQ_SLAVE_ADDR1); // Proper Ports and I2C Address for K64F Freedom board |
saurabh2691 | 0:585ff5a0167f | 7 | MotionSensorDataUnits acc_data; |
saurabh2691 | 0:585ff5a0167f | 8 | |
saurabh2691 | 0:585ff5a0167f | 9 | Serial pc(USBTX, USBRX); // UART for Tera-Term |
saurabh2691 | 0:585ff5a0167f | 10 | Serial device(PTC17, PTC16); |
saurabh2691 | 0:585ff5a0167f | 11 | |
saurabh2691 | 0:585ff5a0167f | 12 | void updateSensor(); // Updates sensor values in "acc_data" |
saurabh2691 | 0:585ff5a0167f | 13 | |
saurabh2691 | 0:585ff5a0167f | 14 | int main() |
saurabh2691 | 0:585ff5a0167f | 15 | { |
saurabh2691 | 0:585ff5a0167f | 16 | pc.baud(115200); |
saurabh2691 | 0:585ff5a0167f | 17 | device.baud(115200); |
saurabh2691 | 0:585ff5a0167f | 18 | |
saurabh2691 | 0:585ff5a0167f | 19 | acc.enable(); |
saurabh2691 | 0:585ff5a0167f | 20 | |
saurabh2691 | 0:585ff5a0167f | 21 | while (true) { |
saurabh2691 | 0:585ff5a0167f | 22 | updateSensor(); |
saurabh2691 | 0:585ff5a0167f | 23 | pc.printf("Current State: "); |
saurabh2691 | 0:585ff5a0167f | 24 | |
saurabh2691 | 0:585ff5a0167f | 25 | if (-0.1 < acc_data.x && acc_data.x < 0.1) { |
saurabh2691 | 0:585ff5a0167f | 26 | device.printf("1"); |
saurabh2691 | 0:585ff5a0167f | 27 | pc.printf("1\n"); |
saurabh2691 | 0:585ff5a0167f | 28 | } else if (0.1 < acc_data.x && acc_data.x < 0.55) { |
saurabh2691 | 0:585ff5a0167f | 29 | device.printf("2"); |
saurabh2691 | 0:585ff5a0167f | 30 | pc.printf("2\n"); |
saurabh2691 | 0:585ff5a0167f | 31 | } else if (0.55 < acc_data.x && acc_data.x < 1.0) { |
saurabh2691 | 0:585ff5a0167f | 32 | device.printf("3"); |
saurabh2691 | 0:585ff5a0167f | 33 | pc.printf("3\n"); |
saurabh2691 | 0:585ff5a0167f | 34 | } else if (-0.55 < acc_data.x && acc_data.x < -0.1) { |
saurabh2691 | 0:585ff5a0167f | 35 | device.printf("4"); |
saurabh2691 | 0:585ff5a0167f | 36 | pc.printf("4\n"); |
saurabh2691 | 0:585ff5a0167f | 37 | } else if (-1.0 < acc_data.x && acc_data.x < -0.55) { |
saurabh2691 | 0:585ff5a0167f | 38 | device.printf("5"); |
saurabh2691 | 0:585ff5a0167f | 39 | pc.printf("5\n"); |
saurabh2691 | 0:585ff5a0167f | 40 | } else { |
saurabh2691 | 0:585ff5a0167f | 41 | device.printf("1"); |
saurabh2691 | 0:585ff5a0167f | 42 | pc.printf("1\n"); |
saurabh2691 | 0:585ff5a0167f | 43 | } |
saurabh2691 | 0:585ff5a0167f | 44 | wait(1); |
saurabh2691 | 0:585ff5a0167f | 45 | } |
saurabh2691 | 0:585ff5a0167f | 46 | } |
saurabh2691 | 0:585ff5a0167f | 47 | |
saurabh2691 | 0:585ff5a0167f | 48 | void updateSensor() { |
saurabh2691 | 0:585ff5a0167f | 49 | acc.getAxis(acc_data); |
saurabh2691 | 0:585ff5a0167f | 50 | //pc.printf("\nACC: X=%1.4f Y=%1.4f Z=%1.4f \n", acc_data.x, acc_data.y, acc_data.z); // Prints current sensor values |
saurabh2691 | 0:585ff5a0167f | 51 | } |