Õhtast, bitiväänajad!
On selline kivi nagu PIC16F684. Ja temal jookseb soft,mis jälgib nii seriali saadetisi kui ka PORTB seisu muudatusi. Kõik käib katkestustega. SEriali pidi käib suhtlemine Wõrguga, PORTB-s on RFID jm. meedialugejad. Kõik on kena aga ajuti esineb vigu meedia lugemisel sest (nagu ma kahtlustan) ollakse sel hetkel juhtumisi seriali katkestust teenidamas ja PIC16 ju ei suuda rekursiivseid ints'e lahendada (ja siis kui järg kätte jõuab, on juba hilja). Seadsin küll PORTB katkestused esimeseks teenidamise järjekorras aga ei aita.
Siit küsimus - kas on mingit elegantset lahendust probleemile või ...ainult prose vahetus nt. PIC18 vms. vastu, mis suudab katkestuse prioriteete arvestada? Antud lahenduse jaoks oleks primaarne on reageerida meediale ehk siis PORTB - ints'ile.
Vist ei ole muud lahendust kui
- teha võrguga suhtlemine eraldi kontrolleriga (odav PIC);
- kasutada küll ühte kivi aga võimsamat kus on katkestuste prioriteedid.
Või ikkagi saaks kuidagi...mul ei tule küll enam ühtegi mõtet...
Fosc = 11,0592MHZ, Wõrgu kiirus 115200 bd, Wõrgu pakette võib pikalt ... pikalt saata.
On selline kivi nagu PIC16F684. Ja temal jookseb soft,mis jälgib nii seriali saadetisi kui ka PORTB seisu muudatusi. Kõik käib katkestustega. SEriali pidi käib suhtlemine Wõrguga, PORTB-s on RFID jm. meedialugejad. Kõik on kena aga ajuti esineb vigu meedia lugemisel sest (nagu ma kahtlustan) ollakse sel hetkel juhtumisi seriali katkestust teenidamas ja PIC16 ju ei suuda rekursiivseid ints'e lahendada (ja siis kui järg kätte jõuab, on juba hilja). Seadsin küll PORTB katkestused esimeseks teenidamise järjekorras aga ei aita.
Siit küsimus - kas on mingit elegantset lahendust probleemile või ...ainult prose vahetus nt. PIC18 vms. vastu, mis suudab katkestuse prioriteete arvestada? Antud lahenduse jaoks oleks primaarne on reageerida meediale ehk siis PORTB - ints'ile.
Vist ei ole muud lahendust kui
- teha võrguga suhtlemine eraldi kontrolleriga (odav PIC);
- kasutada küll ühte kivi aga võimsamat kus on katkestuste prioriteedid.
Või ikkagi saaks kuidagi...mul ei tule küll enam ühtegi mõtet...
Fosc = 11,0592MHZ, Wõrgu kiirus 115200 bd, Wõrgu pakette võib pikalt ... pikalt saata.
Comment