Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of Lab_6_WaG by
main.cpp@11:6751b9406142, 2018-02-23 (annotated)
- 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?
User | Revision | Line number | New 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 | } |