GroupA / Mbed 2 deprecated WaG_final

Dependencies:   mbed

Fork of Lab_6_WaG by GroupA

Committer:
phn10
Date:
Fri Feb 23 23:05:58 2018 +0000
Revision:
11:6751b9406142
Parent:
8:d8bc78bda829
Child:
13:8936b2f64aa2
add function send_command_to_display() and fix error in function bin2bcd_array() version 2. The program works except when input number is a 4 digit number;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
spm71 0:ee6e5c60dd2d 1 /******************************************************************************
spm71 0:ee6e5c60dd2d 2 * EECS 397
spm71 0:ee6e5c60dd2d 3 *
spm71 0:ee6e5c60dd2d 4 * Assignment Name: Lab 4: display_test2
spm71 0:ee6e5c60dd2d 5 *
spm71 0:ee6e5c60dd2d 6 * Authors: Sam Morrison and Phong Nguyen
spm71 0:ee6e5c60dd2d 7 *
spm71 0:ee6e5c60dd2d 8 * Purpose: Configures the board for 5-digit display
spm71 0:ee6e5c60dd2d 9 *
spm71 0:ee6e5c60dd2d 10 * Last Modified: 02/19/2018
spm71 0:ee6e5c60dd2d 11 *
spm71 0:ee6e5c60dd2d 12 ******************************************************************************/
spm71 0:ee6e5c60dd2d 13 #include "mbed.h"
phn10 8:d8bc78bda829 14 #include "io_pins.h"
phn10 8:d8bc78bda829 15 #include "display.h"
spm71 0:ee6e5c60dd2d 16 #include <stdlib.h>
spm71 0:ee6e5c60dd2d 17 #include <stdio.h>
spm71 0:ee6e5c60dd2d 18 #include <string.h>
spm71 0:ee6e5c60dd2d 19
phn10 8:d8bc78bda829 20 int data_length = 16;
phn10 8:d8bc78bda829 21 int frequency = 1000000;
phn10 8:d8bc78bda829 22
phn10 6:749a691e2abf 23 DigitalOut SS(CHIP_SELECT);
phn10 6:749a691e2abf 24 SPI spi(MOSI, MISO, SCLK);
spm71 0:ee6e5c60dd2d 25 Serial pc(USBTX, USBRX);
spm71 0:ee6e5c60dd2d 26
spm71 0:ee6e5c60dd2d 27 int main(void) {
phn10 8:d8bc78bda829 28 initial_setup(SS, data_length, frequency);
phn10 11:6751b9406142 29 char bcd[4];
spm71 0:ee6e5c60dd2d 30
phn10 11:6751b9406142 31 //float command = 0x0100;
spm71 2:b444464ebe67 32 int input;
spm71 1:1b05289d0bf5 33 //char command_text[10] = "0x0";
spm71 0:ee6e5c60dd2d 34 while(1) {
spm71 0:ee6e5c60dd2d 35 pc.printf("Select a digit between 0 and 9999:\n");
phn10 11:6751b9406142 36 int check = scanf("%d", &input);
phn10 11:6751b9406142 37
phn10 11:6751b9406142 38 while (input < 0 or input > 9999) { //ask for input until 0-9999 is selected
phn10 11:6751b9406142 39 pc.printf("You entered a number out of range\n");
spm71 0:ee6e5c60dd2d 40 pc.printf("Select a digit between 0 and 9999:\n");
phn10 11:6751b9406142 41 scanf("%d", &input);
spm71 2:b444464ebe67 42 }
spm71 2:b444464ebe67 43
phn10 11:6751b9406142 44 printf("you entered: %d\n", input);
phn10 11:6751b9406142 45 bin2bcd_array(input, bcd);
phn10 11:6751b9406142 46
phn10 11:6751b9406142 47 for (int i = 0; i < 4; i++) {
phn10 11:6751b9406142 48 pc.printf("bcd: %d\n", bcd[i]);
phn10 11:6751b9406142 49 }
spm71 0:ee6e5c60dd2d 50
phn10 11:6751b9406142 51 send_command_to_display(bcd);
spm71 0:ee6e5c60dd2d 52 }
phn10 7:161fe3793ddb 53 }