Tema: Re: vaiduokliai
Autorius: ejs
Data: 2014-06-09 00:16:15
2014-06-08 22:25, ig rašė:
> void LED_oneDigitWrite(byte digit, byte value) {
>      for (byte digCount = 0; digCount < 4; ++digCount) {
>        digitalWrite(anode[digCount], four_digits[digit-1][digCount]);
>      }
>      for (byte segCount = 0; segCount < 7; ++segCount) {
>        digitalWrite(cathode[segCount], seven_segments[value][segCount]);
>      }
>      delay(delDisplayTime);
> }

IMHO, šioje vietoje būtina gesinti bent jau anodą prieš įrašant reikšmę.

Taip pat galima peržaisti logiką:
1. gesinam anodUS (arba reikia žinoti kuris anodas aktyvus)
2. išstatom segmentų reikšmes
3. uždegam reikiamą anodą.

Dar pastebėjimas: organizuoti ciklą 4 anodams yra neefektyvu. Paprasčiau 
juos junginėti nuosekliai, su
digitalWrite(anode[0], four_digits[digit-1][0]);
digitalWrite(anode[1], four_digits[digit-1][1]);
digitalWrite(anode[2], four_digits[digit-1][2]);
digitalWrite(anode[3], four_digits[digit-1][3]);
....
digitalWrite(anode[digit-1], 1);

arba Tamsioji Pusė:
....
volatile byte cSegment;
....
void LED_oneDigitWrite(byte digit, byte value) {

     digitalWrite(anode[cSegment], 0);

     for (byte segCount = 0; segCount < 7; ++segCount) {
       digitalWrite(cathode[segCount], seven_segments[value][segCount]);
     }

     digitalWrite(anode[digit-1], 1);
     cSegment = digit-1;
     delay(delDisplayTime);
}


gal net ir katodus junginėti cikle neefektyvu, nors programa ir atrodo 
korektiškai.

-- 
ejs
3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser