Teade

Collapse

Foorumi reeglid.

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

Pic soft

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

    Pic soft

    kas keegi oskab öelda, kust leida kalkulaatori(lihtne laua kalkulaator) softi pic-ile? lihtsad korrutamine/jagamine ning ütleme nt 8 näiduga lcd-le.

    #2
    Vs: Pic soft

    Korrutamine ja jagamine, eriti murdarvude puhul, polegi nii lihtsad. Näiteid leiab Scott Dattalo lehelt (tehete teostamine), muu koodi pead vist ise kirjutama.
    - 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


      #3
      Vs: Pic soft

      lisana niipalju, et oli mõeldud korrutamine ja jagamine konstandiga. Iseenesest peaks see ju lihtsam olema, ning korrutamise kohta konstandiga oli vist ju ka käsk. Või on ikkagi keerulisem, kui esialgu paistab?

      Comment


        #4
        Vs: Pic soft

        Vist on keerulisem. PIC oskab korrutada 8-bitist täisarvu, ei enamat.
        - 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


          #5
          Vs: Pic soft

          aga kuidas komaga arve korrutama panna? nt sisestatud arv 10 korrutada konstandi 3,1416(pii)-ga?

          Comment


            #6
            Vs: Pic soft

            aritmeetikat mikrokontrollerile on möistlik C keeles kirjutada. kehvem pool asja juures on, et math. ja stdio. täis ( ujukomatoega) teegid vötavad yksjagu mälu, ntx AVRi puhul 2-4kB.

            Comment


              #7
              Vs: Pic soft

              Võid ttõmmata programmersheaven.com -ist FPmath'i. Seal on kõik vajalikud asmi libraryd olemas. Võin pakkuda ka koodinäidet.
              - 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


                #8
                Vs: Pic soft

                Kui kuidagi võimalik, siis tegutse täisarvudega. Sobivad ka fikseeritud komaga arvud, st arvutad arvudega nagu täisarvudega ja pärast arvestad nende komakohti...
                Ehk puust ja punaselt on parem...
                Kui meil on vaja näiteks d=0,01m ringi ümbermõõtu leida, siis me võime tegeleda näiteks millimeetrites, d=0010mm. Pi võime võtta ka näiteks 314, siis saab neid korrutades 3140. Teades enne tehtud koma nihutusi d puhul 3 ja pi puhul 2 kohta paremale(korrutamise tulemus siis 5 kohta paremale), võime tulemust mõista kui 0,0314mm
                Nüüd aga teeme sama asja kahendsüsteemis... Eeldame, et täpsusest 8 bitti piisab, seega võtame igast arvust 8 bitti. Võtame jällegi d=0,01(10)m ~ 0,000000101001(2)m. otsustame nihutada koma näiteks 14 kohta paremale, saame 10100100. See on väga tähtis samm, sest siin tuleb arvestada kui suuri ringisid edaspidi saab programmile ette anda. Samamoodi pi on umbes 1,1001001, selle koma läheb 7 kohta paremale, seega 11001001. Nüüd siis korrutame ja saame 1000000011000100 (siin siis 16 bitti, sest 8x8 bitti tehe). Siin nihutame siis koma uuesti 21 kohta vasakule tagasi, saame 0,000001000000011000100, mis on umbes 0,03144... Kui sellisest täpsusest ei piisa, siis tuleb lihtsalt võtta algoperandid suurema täpsusega ja tehteid kombineerida, st meil on arvud mingis hulgas 8-bitises baidis; korrutame mõlema arvu kõik baidid omavahel läbi ja paneme tulemuse õigetesse baitidesse (näiteks kui lähteoperandid on 2B=16b, siis tulemus tuleb juba 4B).

                Kui su sisendiks on kümnendarv ja väljundiks ka kümnendarv, siis võid kasutada ka BCD (binary coded decimal, vaata näiteks guuglist või wikipediast) formaati. Kuigi sellega ei ole operatsioonid nii kiired, on seda märksa lihsam mõista. Lihtsalt iga numbri igast arvust paned omaette baiti ja kui tehet tuleb teha, siis teed nagu koolis õpetati paberi peal korrutamist... Et Tulemuse parempoolse numbri annab lähteoperandide parempoolsete numbrite korrutis; sealt võib tekkida ülekanne mille liidame eelviimasesse jne jne jne. Jällegi tasuks teha fikseeritud komaga, st kokkuleppeliselt on koma mingi koha peal kinni ja kõik tehted tehakse ilma selle komata ja pärast lihtsalt kokkuleppe järgi on tulemuses ka mingi kindla koha peal koma.

                Comment


                  #9
                  Vs: Pic soft

                  Esmalt postitatud raivo poolt
                  aritmeetikat mikrokontrollerile on möistlik C keeles kirjutada. kehvem pool asja juures on, et math. ja stdio. täis ( ujukomatoega) teegid vötavad yksjagu mälu, ntx AVRi puhul 2-4kB.
                  Kui ebavajalik välja visata, saab ka vähemaga hakkama. Progege asmis, M$ stiilis koodiraiskamine jääb ära
                  - 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


                    #10
                    Vs: Pic soft

                    Esmalt postitatud felch poolt
                    Kui ebavajalik välja visata, saab ka vähemaga hakkama. Progege asmis, M$ stiilis koodiraiskamine jääb ära
                    on sellele väitele peale isikliku arvamuse ka muud argumenti ?
                    hinnavahe 4KB ja 8KB kontrolleril on 2-3 krooni. ajakulu vahe samapalju kordades. asmis pusimine pole isegi taseme näitamine, vaid lihtsalt möttetu paigaljooks. see ei tähenda, et asmi ei peaks tundma, suure osa softi vigu leian ikkagi nii et jälgin C-st genereeritud Asmi listingut.
                    aga mingi CISC arhitektuuriga prose, DSPst rääkimata, ASMis progemist kyll ette ei kujuta.
                    kui jöuad 10.da kontrolleriplatvormini, hakkad möistma.

                    Comment


                      #11
                      Vs: Pic soft

                      Igal asjal on oma koht. Lihtsalt uurisin üht IR-puldi koodi, mis algselt C-s. Mina kasutasin tema asm-i listingut ja ... lõpuks kirjutasin puhtalt ümber sest algne kood oli mõttetult keeruliseks aetud.
                      Suure mahuga koodi puhul on asi ilmselt teine, võimalik et ka PICi arhitektuur põhjustas "ümber nurga" koodi.
                      - 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


                        #12
                        Vs: Pic soft

                        pole koodi mida ei saaks lyhemaks vöi kiiremaks optimeerida, ka Sinu oma. iseasi, on selleks vajadust ja öigustust. enamasti mitte, ikka ootab soft kusagil mingi syndmuse juhtumist. hea insener peab oskama öige algoritmi leida, see annab läbipaistvuse ja koodi effektiivsuse, selle eest saab insener palka. mida annab ja keda huvitab kui suudad Linuxi enam kui gigabaidise lähtekoodi kompilatsioonist paar baiti kokku hoida ? kui seda juttu ajaks suva vend foorumist, mind ei huvitaks. kui aga inime kes vist "rauakoolist" palka saab, siis olen hämmelduses, arhitekte, kelleks elektroonikainsener kahtlemata on, soovitatakse tegama hakata myyrseppa tööd, ehk saab 3 tellist kokku hoida.
                        viimati muutis kasutaja raivo; 14 m 2006, 19:50.

                        Comment


                          #13
                          Vs: Pic soft

                          Ma arvan, et see jutt kipub minema algsest küsimusest liiga kaugele ja mõtet on sama vähe, kui vaielda teemal: kumb on parem, kas Linux või MS$. Igaüks jääb nagunii oma arvamuse juurde ja eks ole ju nii, et iga asi sobib just oma kohale. Rõhuv enamus kirjutab C-s (või mõnes muus kõrgkeeles), ju siis nii on hea. Mulle jälle meeldib asm, saan teha täpselt seda, mida tahan ja millal tahan. Noh, vigu kindlasti ka aga millises keeles neid ei annaks teha.
                          Samuti eelistan pigem mudida koodi kui et võtta kiirem prose. Otse asmis kirjutades tihtipeale saab kiiremini. Näiteks video lugemisel (mitte pildisignaali aga ühe radarseadme väljundi). Ühesõnaga - mingist prosest viimase välja pigistamine on väljakutse, sama asja Basicus valmis viskamine aga mitte. Vähemasti minule.

                          Sorry, et üldse selle teema üles võtsin, see oli mõttetu.

                          PS. Ma ei ole Rauakooli (kui Sa mõtled ajakirja rubriiki) palgal, nupukeste eest makstakse honorari küll.
                          - 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


                            #14
                            Vs: Pic soft

                            Poisid,ärge nüüd tülli minge!Vaidlustes selgub ju tõde.Teie vaidlused on mulle kui päris algajale headeks õpetusteks.Ise alles alustan progemisega. Mõne PICi või AVRi tahaks kül oma käe järgi käima panna.See teise mehe dumbi pealt käima laskmine on käkitegu aga tahaks ise mingit lülitus aega või temperatuuri vahemikku muuta nii kuidas endale vajalik.Hetkel ainuke norm koht kus migagi asjalikku vaidlustes selgub ja kust on midagi õppida.

                            Nii et jõudu asjalikeks vaidlusteks ja näpunäideteks.

                            Comment


                              #15
                              Vs: Pic soft

                              Asmis kirjutamine on tõesti aeganõudvam kuid pakub seejuures progejale suuremat rahuldust. Ja tööst rahulduse saamine on olulisem kui palk, vähemalt pikemas perspektiivis.
                              Aga enamus elektroonikuid on ikkagi müüriladujad, mitte arhitektid. PIC plärts... register plärts... LED driveri kivi plärts .... optron plärts...
                              Ei ole siin mingit arhitektuuri

                              Comment

                              Working...
                              X