Tsiu su tuo programavimu. Kad jau LEDas mirksi, tai toliau noriu pridti
mygtuk. iaip tai veikia, bet nesuprantu kodl. Man lyg turt neveikti,
arba veikti kitaip... Trumpai - vienas dvispalvis LEDas per tranzus valdosi
nuo RC7 ir RC9. I RA1 sijungia LEDo maitinimas. Prie RC2, o tiksliau AN8
(tas pats pinas) prijungtas "mygtukas". Kabutse - nes ten ne mygtukas, o
temperatros sensoriaus jungtis, po to per opamp jau pajungimas prie AN8.
Pagalvojau tuo paiu ir ADC imoksiu jungt, tai pairjau, kad ribinse
padtyse (utumpinus davikl ir palikus atvir) ant AN8 tampa kinta
praktiskai nuo VCC iki VDD, kas visai neblogai atitikt mygtuk. Ir kas
keisiausia programik veikia... Kad ilaikyt colorcoding ir formatavima
prisegu paveiksliuk (gal kas ino, kaip kopijuoti ilaikant tuos dalykus?).
1 dalykas - kodl veikia "atvirkiai" ? LEDai pajungti lyg ir be sudting
navarot, jeigu maitinimas yra (RA1 = 1 visada) tai galvojau kol RC7 ir/ar
RC9 0 arba 1 tai atitinkamai degs arba nedegs. O dabar teisingumo lentel
tokia:
LEDx RC7 | RC9
0 | 1 | 1
R | 0 | 1
| 1 | 0
2 | 0 | 0
Kai abu pinai 1 - LED nedega (bet vienetai yra RC7, RC9 ir RA1). Tranz
bazs irgi turi tuos vienetus...
Kai abu pinai 0 - dega ir Raudonas ir alias LEDai. Blin, ir tranz bazs
irgi turi po 1. I kur ? Pakeliui nieko nra, tik rezistorius (prie
rezistori yra apie 2,3V, u jo link uCPU 0V, o toliau uCPU. Arba dar
pameiau kok takel...
Kai dega po vien - ant bazs gaus 3,3V.
Nu bet ia tik man labai domi smulkmena perpratimui.
2 dalykas - kodl i viso tokia programa veikia taip kaip a noriu :D ? Juk
jungiu ADC, o nuskaitau if (PORTCbits.RC2 == 0b0), kas bt skaitmeninis
nuskaitymas (tik 1 arba 0, bet ne 0...1023). Chm... O gal dl to ir veikia ?
Nors ir deklaruoju apie ADC, bet nuskaito kaip skaitmen ir pagal
atitinkamus thresholdus duoda tik 1 arba 0, vietoj sakykim 1019 ir 5. Chm...
Neinau kaip nuskaityti kaip analog, PORTCbits.AN8 meta klaid.
