Last change
on this file since 449 was 136, checked in by ertl-honda, 9 years ago |
ライブラリとOS及びベーシックなサンプルの追加.
|
File size:
769 bytes
|
Line | |
---|
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.