Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

samaaegselt esineda võivad katkestused

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    samaaegselt esineda võivad katkestused

    Õ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.
    - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
    - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

    #2
    Kui võrguga side niivõrd oluline pole, siis tee see ilma katkestuseta, lihtsalt pollides. Muidugi kui katkestuse alamprogramm väga pikk on, siis võiks selle seest ka paar korda mittekriitilistest kohtadest seda võrgu pollimist teha... kui mitte just kogu infotöötlust, siis võiks vähemalt saabunud biti korral selle kuskile fifosse ringpuhvrisse pista, et pärast saaks toimetada temaga, selle saad kenasti konstantse tööajaga realiseerida ja ehk sinna katkestuse sisse ka ära mahutada kui vaja.

    Comment


      #3
      Üldiselt soovitaks võimsamat PICi. Igasugused "kavalad nipid" lõppevad alati sellega et kiirust jääb väheks või läheb apastraat kallimaks.

      Comment


        #4
        loe kokku mitu tsyklit kestab seriali suhtlus ja kui kiiresti peab pordikatkestusele reageerima, ehk kannatab ntx seriali osa lyhendada. jutust jäi ka mulje et meedialugejaid mitu, ehk need omavahel yheaegselt tekitavad mingi x-oleku.
        suurem haamer ( loe: vöimsam protsessor) alati abix.

        Comment


          #5
          Tähh!
          Paistab, et probleem lahendet. Suure Ringi elektroonikute toetusel mõõtsin uuesti katkestuses olemise ajad ja selgus, et nad ei saa kuidagi viga põhjustada. Asi oli hoopis muus - pakett märgit aegunuks kuna vastav taimer oli liiga kiire. Viga mütsi all nagu enamasti. Tänud mütsi kergitamise eest!
          - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
          - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

          Comment

          Working...
          X