Code to send data from a FRDM-K64F development board to any board through UART.

Dependencies:   mbed FXOS8700Q

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?

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