7 segment display library for mbed This routine support 2,4 and 8 digit anode-common or cathode-common LED.
Diff: Sseg.cpp
- Revision:
- 12:59ac7a4f3d9c
- Parent:
- 11:8be75770e375
--- a/Sseg.cpp Sun Jul 05 07:41:22 2015 +0000
+++ b/Sseg.cpp Sun Jul 05 08:30:58 2015 +0000
@@ -283,11 +283,11 @@
}
void Sseg::turnOff(void) {
- _digPins[_dig] -> write((_kcommon == 0) ? 0 : 1);
+ _digPins[_dig] -> write((_kcommon) ? 1 : 0);
}
void Sseg::turnOn(void) {
- _digPins[_dig] -> write((_kcommon == 0) ? 1 : 1);
+ _digPins[_dig] -> write((_kcommon) ? 0 : 1);
}
void Sseg::updateSeg(void) {
@@ -298,9 +298,9 @@
mask = 0x80;
for(i=0;i<8;i++){
if(data & mask){
- _segPins[i]->write(((_kcommon) || (_sinkDriver)) ? 0 : 1);
+ _segPins[i]->write(((_kcommon) || (_sinkDriver)) ? 1 : 0);
}else{
- _segPins[i]->write(((_kcommon) || (_sinkDriver)) ? 1 : 0);
+ _segPins[i]->write(((_kcommon) || (_sinkDriver)) ? 0 : 1);
}
mask >>= 1;
}
Yoshitaka Kuwata