PIC-i nupumaatriks ja INTF-i kadu

Collapse
X
 
  • Kellaaeg
  • Show
Clear All
new posts
  • aaduadok
    Liige
    • 07/2003
    • 67

    #1

    PIC-i nupumaatriks ja INTF-i kadu

    selline setup mul:

    *) RB0-i tuleb 11khz ristkülik peale mis tekitab INTF-i
    *) RB4, RB5 on inputid mis tekitavad RBIF-i
    *) RB1..RB3 on outputid

    RB1-RB5 realiseerivad nupumaatriksi.

    proge algoritm on mul selline: kui RB4 või RB5 muutuvad, siis jätan interrupt handleris aja meelde ja 20ms pärast mudin main luubis RB1..RB3-e (selleks et teada saada mis nuppu pressiti).

    selline imelik asi juhtub nüüd:

    kui nuppe kiiresti plõksima hakata (trigger happy test), siis ühel hetkel enam INTF-i ei teki. kuigi pulsid on selle pin-i peal olemas.

    mure on suur.
    on ideid?
  • aaduadok
    Liige
    • 07/2003
    • 67

    #2
    niipalju veel et kui ma väljunditena kasutasin RA3..RA5 siis kõik toimib (INTF jääb alles)

    Comment

    • KaruTEC
      Liikmed
      • 07/2002
      • 3082

      #3
      Koodi paluks, muus ei saa viga tõenäoliselt olla.

      Comment

      • ttr
        Liige
        • 06/2002
        • 754

        #4
        skeemi ja softi nägemine teeks vastamise küsimusele palju lihtsamaks
        MSN- taneltreima182@hotmail.com
        telefon katki.

        Comment

        • aaduadok
          Liige
          • 07/2003
          • 67

          #5
          skeemi ja softi nägemine teeks vastamise küsimusele palju lihtsamaks
          skeem http://www.algonet.se/~adok/aadu/pic/button_matrix.gif

          175 rida c koodi, palun kannatage ära
          Se våra kampanjer på mobiler, abonnemang och Tv- och streampaket | Telenor


          kes bugi leiab sellele võin õlle tuua.

          Comment

          • Erki
            Liige
            • 12/2001
            • 210

            #6
            Ma olen ka PICidega tegelenud.

            Kontrolli kas C kompilaator ei ole vigane. Ma kasutasin kord Pascalit ja see oli. Tootja kodulehelt või foorumist peaks infot leidma.

            Kui INTF enam ei teki, siis kas teised interruptid toimivad?
            Kui ükski interrupt ei toimi, aga ülejäänud programm töötab OK, siis on viga INTCON registri ülekirjutamises. Kui ainult INTF ei toimi, siis ilmselt ei nulli programm seda.


            Lammuta kood assembleriks ja proovi simulaatoris. Kõigepealt simuleeri nupuvajutust ja kui programm täidab interruptikoodi, siis simuleeri veel korra nupu vajutust. Nii peaks viga välja tulema.

            Comment

            • aaduadok
              Liige
              • 07/2003
              • 67

              #7
              Kui INTF enam ei teki, siis kas teised interruptid toimivad?
              Kui ükski interrupt ei toimi, aga ülejäänud programm töötab OK, siis on viga INTCON registri ülekirjutamises. Kui ainult INTF ei toimi, siis ilmselt ei nulli programm seda.
              teised toimivad ilusti. ainult INTF ei toimi. ja progega nullin interrupt handleris INTF-i ära.


              Lammuta kood assembleriks ja proovi simulaatoris. Kõigepealt simuleeri nupuvajutust ja kui programm täidab interruptikoodi, siis simuleeri veel korra nupu vajutust.
              Nii peaks viga välja tulema.
              kas 'mplab ide'-ga on võimalik simuleerida?
              tänud!

              Comment

              • urmas78
                Liige
                • 02/2003
                • 1604

                #8
                Asm-is kirjutatud koodi saab MPLAB-iga simuleerida. Olen ka ise palju vigu nii üles leidnud. Kuid kuidas seda C-s teha, ei tea. Soovitus: kirjuta kogu programm asm-is.
                Teive varjant, ära kasuta katkestusi. Ise olan saanud seni kõik töö tehtud ilma katkestusteta. Kasuta pead.

                Comment

                Working...