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@16:dfa9eb1a808d, 2018-02-27 (annotated)
- Committer:
- phn10
- Date:
- Tue Feb 27 17:21:53 2018 +0000
- Revision:
- 16:dfa9eb1a808d
- Parent:
- 14:be27f6e21a8a
- Child:
- 17:75d567b60214
add comment in the program description
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 | * |
phn10 | 16:dfa9eb1a808d | 4 | * Assignment Name: Lab 4: display_nums2 |
spm71 | 0:ee6e5c60dd2d | 5 | * |
spm71 | 0:ee6e5c60dd2d | 6 | * Authors: Sam Morrison and Phong Nguyen |
phn10 | 16:dfa9eb1a808d | 7 | * File name: main.cpp |
phn10 | 16:dfa9eb1a808d | 8 | * Purpose: Configures the dispaly for 4-digit display |
spm71 | 0:ee6e5c60dd2d | 9 | * |
phn10 | 16:dfa9eb1a808d | 10 | * Last Modified: 02/27/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 | 2:b444464ebe67 | 30 | int input; |
spm71 | 14:be27f6e21a8a | 31 | while(1) { //clears bcd array |
spm71 | 14:be27f6e21a8a | 32 | for (int i = 0; i < 4; i++) |
spm71 | 14:be27f6e21a8a | 33 | bcd[i] = 0; |
spm71 | 14:be27f6e21a8a | 34 | input = 0; |
spm71 | 0:ee6e5c60dd2d | 35 | pc.printf("Select a digit between 0 and 9999:\n"); |
spm71 | 14:be27f6e21a8a | 36 | pc.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"); |
spm71 | 14:be27f6e21a8a | 41 | input = 0; |
spm71 | 14:be27f6e21a8a | 42 | pc.scanf("%d", &input); |
spm71 | 2:b444464ebe67 | 43 | } |
spm71 | 2:b444464ebe67 | 44 | |
spm71 | 14:be27f6e21a8a | 45 | |
phn10 | 11:6751b9406142 | 46 | printf("you entered: %d\n", input); |
phn10 | 11:6751b9406142 | 47 | bin2bcd_array(input, bcd); |
spm71 | 0:ee6e5c60dd2d | 48 | |
phn10 | 11:6751b9406142 | 49 | send_command_to_display(bcd); |
spm71 | 0:ee6e5c60dd2d | 50 | } |
phn10 | 7:161fe3793ddb | 51 | } |