Completed Scan Mux
Dependencies: mbed
Fork of Microprocessors_Template by
main.cpp@1:cff235122df8, 2018-02-03 (annotated)
- Committer:
- anr41
- Date:
- Sat Feb 03 17:49:10 2018 +0000
- Revision:
- 1:cff235122df8
- Parent:
- 0:24202d4eadef
- Child:
- 2:c09b7ead913c
sharing;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
anr41 | 0:24202d4eadef | 1 | /******************************************************************************* |
anr41 | 0:24202d4eadef | 2 | *EECS397 |
anr41 | 0:24202d4eadef | 3 | * |
anr41 | 1:cff235122df8 | 4 | *Assignment Name: Lab 3; Scan Mux |
anr41 | 0:24202d4eadef | 5 | * |
anr41 | 0:24202d4eadef | 6 | *Author(s): Ashley Roberson, Michael Codega |
anr41 | 0:24202d4eadef | 7 | * |
anr41 | 1:cff235122df8 | 8 | *Purpose: Scans all 16 channels, stores those analog values in an array, and |
anr41 | 1:cff235122df8 | 9 | * then prints values in array to serial console with each channel |
anr41 | 1:cff235122df8 | 10 | * labeled when a key from the serial console is pressed. |
anr41 | 0:24202d4eadef | 11 | * |
anr41 | 1:cff235122df8 | 12 | *Last Modified: February 3, 2018 |
anr41 | 0:24202d4eadef | 13 | * |
anr41 | 0:24202d4eadef | 14 | *******************************************************************************/ |
anr41 | 0:24202d4eadef | 15 | #include "mbed.h" |
anr41 | 0:24202d4eadef | 16 | |
anr41 | 1:cff235122df8 | 17 | Serial pc(USBTX, USBRX); |
anr41 | 1:cff235122df8 | 18 | char input; |
anr41 | 0:24202d4eadef | 19 | |
anr41 | 1:cff235122df8 | 20 | float channelData[16]; |
anr41 | 1:cff235122df8 | 21 | BusOut muxSel(PC_6, PB_15, PB_13, PB_12); |
anr41 | 1:cff235122df8 | 22 | |
anr41 | 1:cff235122df8 | 23 | AnalogIn muxOut(PB_1); |
anr41 | 1:cff235122df8 | 24 | |
anr41 | 1:cff235122df8 | 25 | int main(void) |
anr41 | 1:cff235122df8 | 26 | { |
anr41 | 1:cff235122df8 | 27 | |
anr41 | 1:cff235122df8 | 28 | while(1) { |
anr41 | 1:cff235122df8 | 29 | // wait for an input character to be rx'ed |
anr41 | 1:cff235122df8 | 30 | while(!pc.readable()) { |
anr41 | 1:cff235122df8 | 31 | ; // do nothing |
anr41 | 1:cff235122df8 | 32 | } |
anr41 | 1:cff235122df8 | 33 | |
anr41 | 1:cff235122df8 | 34 | input = pc.getc(); |
anr41 | 1:cff235122df8 | 35 | |
anr41 | 1:cff235122df8 | 36 | // business logic: |
anr41 | 1:cff235122df8 | 37 | // scan 16 channels, store those values in array |
anr41 | 1:cff235122df8 | 38 | // print array |
anr41 | 1:cff235122df8 | 39 | |
anr41 | 1:cff235122df8 | 40 | for(int i = 0; i < 16; i++) { |
anr41 | 1:cff235122df8 | 41 | // scan channels |
anr41 | 1:cff235122df8 | 42 | muxSel = i; |
anr41 | 1:cff235122df8 | 43 | |
anr41 | 1:cff235122df8 | 44 | wait(0.00001); |
anr41 | 1:cff235122df8 | 45 | |
anr41 | 1:cff235122df8 | 46 | channelData[i] = muxOut.read(); |
anr41 | 1:cff235122df8 | 47 | } |
anr41 | 1:cff235122df8 | 48 | |
anr41 | 1:cff235122df8 | 49 | for(int i = 0; i < 16; i++) { |
anr41 | 1:cff235122df8 | 50 | |
anr41 | 1:cff235122df8 | 51 | //print out |
anr41 | 1:cff235122df8 | 52 | pc.printf("The channel data for %d is: %d\n", i, channelData[i]); |
anr41 | 1:cff235122df8 | 53 | |
anr41 | 1:cff235122df8 | 54 | } |
anr41 | 1:cff235122df8 | 55 | } |
anr41 | 1:cff235122df8 | 56 | } |