Last change
on this file since 449 was 136, checked in by ertl-honda, 9 years ago |
ライブラリとOS及びベーシックなサンプルの追加.
|
File size:
769 bytes
|
Rev | Line | |
---|
[136] | 1 | #include "Multiplexer.h"
|
---|
| 2 |
|
---|
| 3 | void Multiplexer::begin(uint8_t* selectors, uint8_t Z, uint8_t length){
|
---|
| 4 | for(uint8_t i=0;i<length;i++){
|
---|
| 5 | this->selectors[i]=selectors[i];
|
---|
| 6 | pinMode(selectors[i],OUTPUT);
|
---|
| 7 | }
|
---|
| 8 | this->length=length;
|
---|
| 9 | this->pin_Z=Z;
|
---|
| 10 | pinMode(pin_Z,INPUT);
|
---|
| 11 | }
|
---|
| 12 |
|
---|
| 13 | void Multiplexer::selectPin(uint8_t num){
|
---|
| 14 | for(uint8_t i=0;i<length;i++){
|
---|
| 15 | //Serial.print(bitRead(num,i));
|
---|
| 16 | digitalWrite(selectors[i],bitRead(num,i));
|
---|
| 17 | }
|
---|
| 18 | //Serial.println("");
|
---|
| 19 | }
|
---|
| 20 |
|
---|
| 21 | int Multiplexer::getAnalogValue(){
|
---|
| 22 | return analogRead(pin_Z);
|
---|
| 23 | }
|
---|
| 24 |
|
---|
| 25 | bool Multiplexer::getDigitalValue(){
|
---|
| 26 | return digitalRead(pin_Z);
|
---|
| 27 | }
|
---|
| 28 |
|
---|
| 29 | int Multiplexer::getAnalogValueAt(uint8_t num){
|
---|
| 30 | selectPin(num);
|
---|
| 31 | return getAnalogValue();
|
---|
| 32 | }
|
---|
| 33 |
|
---|
| 34 | bool Multiplexer::getDigitalValueAt(uint8_t num){
|
---|
| 35 | selectPin(num);
|
---|
| 36 | return getDigitalValue();
|
---|
| 37 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.