Yksinkertainen PIC kysymys

vaihtovirtanen

Olen tässä yrittänyt kaikin keinoin ymmärtää seuraavia rivejä;

bsf ADCON0,GO ; start conversion
btfss ADCON0,GO ; this bit will change to zero when the conversion is complete
goto $-1

Ongelma tässä on "btfss" joka on määritelty siten, että sitä seuraava rivi ohitetaan jos bitti on "1".

Manuaaleissa määritellään, että ADCON0:GO pysyy "1":senä kunnes konversio on valmis (esim. TAD syklikaaviossa, mm).

Miten siis on mahdollista, että edellä listattu toimii? Miksei instruction pointer valahda oitis läpi koska konversio on edelleen käynnissä, ja GO bitti on "1"? (vastaavasti, jos olisi jotenkin mahdollista (tiedän ettei ole...) että konversio olisi valmis ennenkuin btfss -komento saavutetaan, ohjelman pitäisi jäädä ikuiseen luuppiin)

Miksi edellä esitetty 3 riviä on oikein, osaako joku selittää tämän tyhmälle?

Kiitos jo etukäteen!

3

665

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • keksa1

      kotias ajaa tuota debuggerissa ja tarkista että mikä se bitti oikeasti on. Meinaan ei ole eka kerta kun on ymmärtänyt väärin tai manuska on väärässä.

      Näyttäs kyllä manuaalin virheeltä.

      • vaihtovirtanen

        Pistin "headerin" tilaukseen, kun debuggaaminen ei 16F690:lla ilman sitä futaa. Tulee varmasti jatkossakin tarpeeseen :)


    • Anonyymi

      Kun bsf ADCON0,GO käskyllä käynnistät konversion, ADCON0-rekisterissä oleva GO-bitti pysyy päällä kunnes konversio on valmis. Kuitenkin btfss ADCON0,GO käsky ei tarkoita, että ohjelma ohittaisi seuraavan rivin vain silloin kun GO-bitti on 1, vaan se tarkoittaa "branch if bit test false, skip next instruction if bit is set". Eli jos GO-bitti on 0, seuraava rivi ohitetaan.

      Eli kun konversio on valmis, GO-bitti muuttuu 0:ksi ja btfss ADCON0,GO käsky ei hyppää seuraavaan rivin, vaan jatkaa suorittamistaan rivi kerrallaan. Tämä on syy sille miksi kyseinen koodinpätkä toimii odotetulla tavalla.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Anteeksi mies

      En vaan osaa kohdata sinua ja olla normaali. En tiedä mikä vaivaa. Samaan aikaan tekee mieli tulla lähelle ja kuitenkin
      Ikävä
      57
      9197
    2. Mietin aina vain

      Minä niin haluaisin nähdä sinut. Ei tuo yhden ainoan kuvan katsominen paljon helpota... Miksi sinä et voisi olla se roh
      Tunteet
      12
      3639
    3. Hetken jo luulin, että en ikävöi sinua koko aikaa

      Mutta nyt on sitten taas ihan hirveä ikävä jotenkin. Tiedätköhän sinä edes, kuinka peruuttamattomasti minä olen sinuun r
      Ikävä
      29
      2947
    4. Kysely lieksan miehille

      Olemme tässä pohtineet tällaista asiaa, että miten on. Tästä nyt on paljon ollut juttua julkisuudessakin aina sanomaleht
      Lieksa
      85
      2258
    5. Palstan henkisesti sairaat ja lihavat

      Täällä on sairaita, työttömiä ihmisiä kirjoittelemassa joilla ei ole tarkoituksena kuin satuttaa ihmisiä. Jos eksyt pals
      Ikävä
      114
      2070
    6. Outoa että Trump ekana sanoutui irti ilmastosopimuksesta

      kun Kaliforniaa riepottelee siitä johtuvat tuhoisat maastopalot. Hirmumyrskytkin ovat USA:ssa olleet tuhoisia.
      Maailman menoa
      367
      1856
    7. Saan kengurakkaan kotiin viikon päästä

      Mitä tapahtui? Martina hehkutti tätä stoorissaan reilu viikko sitten, mutta eipä aussimiestä Suomessa näkynyt, vaan tapa
      Kotimaiset julkkisjuorut
      241
      1482
    8. FinFamin ryhmät

      Älkää hyvät ihmiset luottako tähän tahoon. Ryhmiä on, mutta eivät ne toimi. Ihmisiä savustetaan ulos, vaikka näissä piir
      Salo
      0
      1231
    9. Olen vähän

      Hysteerinen se on totta. Etkai ymmärrä miten syvästi tunnen sinua kohtaan. Ja olet aina lähelläni. Olet osa jo jotain. I
      Ikävä
      10
      1105
    10. Osmo Peltola voitti ansaitusti Kultaisen Venlan - Kirvoitti yleisöltä mahtavan reaktion!

      JEE, onnea Osmo! Osmo Peltola voitti Vuoden esiintyjän Kultainen Venla -palkinnon. Isä-Peltsin ja Osmon luontoseikkailu
      Suomalaiset julkkikset
      72
      1104
    Aihe