Library to support the 16:1 Multiplexer Chip, CD74HC4067from TI
Read_MUX.cpp@0:bd14983a5156, 2015-08-05 (annotated)
- Committer:
- melmon
- Date:
- Wed Aug 05 16:25:05 2015 +0000
- Revision:
- 0:bd14983a5156
Works with Classes
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
melmon | 0:bd14983a5156 | 1 | #include "Read_MUX.h" |
melmon | 0:bd14983a5156 | 2 | #include "mbed.h" |
melmon | 0:bd14983a5156 | 3 | |
melmon | 0:bd14983a5156 | 4 | Read_MUX::Read_MUX(PinName pin) : _pin(pin) { |
melmon | 0:bd14983a5156 | 5 | |
melmon | 0:bd14983a5156 | 6 | _pin == 0; |
melmon | 0:bd14983a5156 | 7 | } |
melmon | 0:bd14983a5156 | 8 | |
melmon | 0:bd14983a5156 | 9 | int Read_MUX::readMux(int channel){ |
melmon | 0:bd14983a5156 | 10 | DigitalOut s0(p21); |
melmon | 0:bd14983a5156 | 11 | DigitalOut s1(p20); |
melmon | 0:bd14983a5156 | 12 | DigitalOut s2(p23); |
melmon | 0:bd14983a5156 | 13 | DigitalOut s3(p24); |
melmon | 0:bd14983a5156 | 14 | |
melmon | 0:bd14983a5156 | 15 | |
melmon | 0:bd14983a5156 | 16 | DigitalOut led1(LED1); |
melmon | 0:bd14983a5156 | 17 | DigitalOut led2(LED2); |
melmon | 0:bd14983a5156 | 18 | DigitalOut led3(LED3); |
melmon | 0:bd14983a5156 | 19 | DigitalOut led4(LED4); |
melmon | 0:bd14983a5156 | 20 | |
melmon | 0:bd14983a5156 | 21 | int muxChannel[16][4]={ |
melmon | 0:bd14983a5156 | 22 | {0,0,0,0}, //channel 0 |
melmon | 0:bd14983a5156 | 23 | {1,0,0,0}, //channel 1 |
melmon | 0:bd14983a5156 | 24 | {0,1,0,0}, //channel 2 |
melmon | 0:bd14983a5156 | 25 | {1,1,0,0}, //channel 3 |
melmon | 0:bd14983a5156 | 26 | {0,0,1,0}, //channel 4 |
melmon | 0:bd14983a5156 | 27 | {1,0,1,0}, //channel 5 |
melmon | 0:bd14983a5156 | 28 | {0,1,1,0}, //channel 6 |
melmon | 0:bd14983a5156 | 29 | {1,1,1,0}, //channel 7 |
melmon | 0:bd14983a5156 | 30 | {0,0,0,1}, //channel 8 |
melmon | 0:bd14983a5156 | 31 | {1,0,0,1}, //channel 9 |
melmon | 0:bd14983a5156 | 32 | {0,1,0,1}, //channel 10 |
melmon | 0:bd14983a5156 | 33 | {1,1,0,1}, //channel 11 |
melmon | 0:bd14983a5156 | 34 | {0,0,1,1}, //channel 12 |
melmon | 0:bd14983a5156 | 35 | {1,0,1,1}, //channel 13 |
melmon | 0:bd14983a5156 | 36 | {0,1,1,1}, //channel 14 |
melmon | 0:bd14983a5156 | 37 | {1,1,1,1} //channel 15 |
melmon | 0:bd14983a5156 | 38 | }; |
melmon | 0:bd14983a5156 | 39 | |
melmon | 0:bd14983a5156 | 40 | //loop through the 4 sig |
melmon | 0:bd14983a5156 | 41 | /* for(int i = 0; i < 4; i ++){ |
melmon | 0:bd14983a5156 | 42 | controlPin[i] = muxChannel[channel][i]; |
melmon | 0:bd14983a5156 | 43 | } |
melmon | 0:bd14983a5156 | 44 | */ |
melmon | 0:bd14983a5156 | 45 | s0 = muxChannel[channel][0]; |
melmon | 0:bd14983a5156 | 46 | s1 = muxChannel[channel][1]; |
melmon | 0:bd14983a5156 | 47 | s2 = muxChannel[channel][2]; |
melmon | 0:bd14983a5156 | 48 | s3 = muxChannel[channel][3]; |
melmon | 0:bd14983a5156 | 49 | |
melmon | 0:bd14983a5156 | 50 | led1= muxChannel[channel][0]; |
melmon | 0:bd14983a5156 | 51 | led2= muxChannel[channel][1]; |
melmon | 0:bd14983a5156 | 52 | led3= muxChannel[channel][2]; |
melmon | 0:bd14983a5156 | 53 | led4= muxChannel[channel][3]; |
melmon | 0:bd14983a5156 | 54 | |
melmon | 0:bd14983a5156 | 55 | //read the value at the SIG pin |
melmon | 0:bd14983a5156 | 56 | int val = _pin.read_u16(); |
melmon | 0:bd14983a5156 | 57 | |
melmon | 0:bd14983a5156 | 58 | //return the value |
melmon | 0:bd14983a5156 | 59 | return val; |
melmon | 0:bd14983a5156 | 60 | } |