Teade

Collapse

Foorumi reeglid.

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

Paluks abi AVR C koodiga

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

    Paluks abi AVR C koodiga

    Oleks vaja C-koodist HEX fail kompileerida aga endal puuduvad vähimadki kogemused. Olen jännanud juba pea 2 nädalat aga ikka on mingisugused errorid ja warningud. Minu mõistus on otsas! Asi ise paikneb siin: http://www.myplace.nu/avr/thermo/index.htm. Äkki aitaks keegi nõuga või teeks mingi pisitasu eest selle õnnetu HEX-i valmis?

    #2
    Vs: Paluks abi AVR C koodiga

    Mis softi kasutad? Prose tüüp oli õige määratud?

    Comment


      #3
      Vs: Paluks abi AVR C koodiga

      Olen proovinud CodeVisionAVR-iga, WinAVR-iga ja AVR Studio 4-ga. Prose tüüp oli määratud AT90S2313 - nii on c-koodis kirjas.

      Comment


        #4
        Vs: Paluks abi AVR C koodiga

        need C failid on kuidagi imelikud. see vend on lambist defineerinud asmi käske ja muud p**ka (cbi ja sbi). ja librarid on kõik valedes kohtades. osad librarid on valed (progmem.h on juba ammu pgmspace.h). mina neid asmi käske korda ei saanud seega ei saa sind aidata (ei oska C'sse sisse kirjutada asmi käske veel). kui leiad käsu, kuidas seda GCC's teha, anna teada ja ma kütan sulle hex faili.
        ise kasutan libc'd ja AVRstudio4'ja GCC pluginaga. võibolla Win AVR kütaks ära, pole proovinud. proovi. kõik on tasuta. (nendest progredest)

        Comment


          #5
          Vs: Paluks abi AVR C koodiga

          Esmalt postitatud bloody-orc poolt
          need C failid on kuidagi imelikud. see vend on lambist defineerinud asmi käske ja muud p**ka (cbi ja sbi). ja librarid on kõik valedes kohtades. osad librarid on valed (progmem.h on juba ammu pgmspace.h).
          See "vend" ei ole "lambist" midagi teind. Vanemad AVR-GCC versioonid olidki nii üles ehitatud. Ju siis on ammu tehtud projekt.

          Mul õnnestus avr-gcc 3.4.5 -ga kogu asi kompileerida küll, muutmist tahtis muidugi palju. Ei julge küll garanteerida, et asi toimib, aga kui oma e-maili annad, siis saad proovida.

          Comment


            #6
            Vs: Paluks abi AVR C koodiga

            Ei ole vaja midagi kompileerida, kui kirjutad koodi autorile, e-mail peaks kusagil sama lehe peal olema.
            If you think education is expensive, try ignorance.

            Comment


              #7
              Vs: Paluks abi AVR C koodiga

              Suhteliselt lihtsa vaevaga sain asjad kompileerima... aga muidugi kuna ma ei testinud midagi, siis võib seal buugisid sees olla veel mitu.

              Muudatusi:
              1) mingid ürgvanad include headerid... Tuli uuendada.
              2) mingid huvitavad sbi, cbi funktsioonid, mida ei paista kuskil olevat. Kirjutasin kerge vaevaga paar define't juurde ja asi korras.
              Kood:
              #define sbi(a,b) (a)|=(b)
              #define cbi(a,b) (a)&=~(b)
              #define outp(a,b) (b)=(a)
              #define inp(b) (b)
              3) eepromi lugemise ja kirjutamise funktsioonidel olid uued nimed. Jällegi kaks define't ja asi korras
              4) mingi huvitav registrinimede define'dega koonerdamine ja aritmeetika defineeritud registrite nimedele liitmise-lahutamisega... Uuemate avr-gcc'de registrinimede define'des on juba registri poole pöördumise funktsioon ümber ja seal enam pointeraritmeetikat teha ei saanud. Natuke puhastust, et see jama ära visata.
              5) makefile kasutas mingit incluuditud kraami, mida polnud kaasa panna. paar rida uut makefile't oli kõige kiirem lahendus.

              proovi omal vastutusel seda, binaari jätsin ka sisse:

              Tulemuste eest muidugi ei vastuta.

              Comment


                #8
                Vs: Paluks abi AVR C koodiga

                Unustasin enne lisada, et Make1 ja Make2 failideks on kasutatud kellegi Volker Oth'i kirjutatud faile ja need võib leida aadressilt http://home.arcor.de/0xdeadbeef/gcctest.zip, kaustast include.
                Autorile olen ka kirjutanud. Tema vastas lihtsalt, et tal ei ole aega sellega tegeleda.
                Minu meiliaadress: rolandr@hot.ee

                Comment


                  #9
                  Vs: Paluks abi AVR C koodiga

                  Probleem järgmine - oleks tarvis juhtida SIPO-na kasutatavat nihkeregistrit 74HC595, kuid ei oska täisarvu (int) vasakule nihutada ja seejärel vanimat bitti 1-ga võrrelda.

                  Tüüpiline konstruktsioon pordis F mingi kinda biti c seadmiseks on näit.
                  PORTF |=(1<<c). Uurisin google abil leitud inglisekeelset lehte, kuid p&#228;rast
                  c-korda vasakule nihutamist muutus asi arusaamatuks. Ehk keegi viitsib lahti seletada.
                  viimati muutis kasutaja 6p45s; 24 m 2007, 23:22.
                  Hoiatus - muudan oma postituse sisu kuni 30 minuti vältel pärast postitamist.

                  Comment


                    #10
                    Re: Vs: Paluks abi AVR C koodiga

                    Mida teha tahad? 595'te infot saata?
                    Uuri neid minu kirjutatud koodijuppe. Peaks olema Mega88 jaoks kirjutatud.
                    Lisatud failid

                    Comment


                      #11
                      Vs: Paluks abi AVR C koodiga

                      Tänud näidete eest!

                      Siiski on vaja lahendada see võtmeküsimus - kuidas nihutada registrisse saadetavat muutujat vasakule, kui muutuja dta= 10000000=0x80 või siis
                      dta-d paremale. Näidetes sai dta oma uue väärtuse kas analoog-digitaal-muundamise osas või mujal programmis.
                      Hoiatus - muudan oma postituse sisu kuni 30 minuti vältel pärast postitamist.

                      Comment


                        #12
                        Re: Vs: Paluks abi AVR C koodiga

                        mida sa saavutada tahad?
                        n&#228;ita bitidega seda, mida sa tahad (e siis mitte decimal 60 vaid 0011 1100)

                        Comment


                          #13
                          Vs: Paluks abi AVR C koodiga

                          Juba sain aru.

                          Tarvis on seada registri sisend DATA= 1, kui registrisse saadetava kahendarvu vanim bitt on 1 ja DATA=0, kui vanim bitt on 0.
                          Tegevuse üldisem eesmärk on valgusdioodindikaatoriga kiirendusmõõtja
                          ,,tõstmine" pic16f690-st ATmega128-projekti koosseisu, kuid ajapuudusel
                          pole registrite lülitusest eemaldamine soovitav.

                          Näidetes teeb for(x=128; x>0; x/2) seda, mida tarvis.
                          Lihtsalt ei osanud pic-i assembleri RRF käsuga seostada.
                          Hoiatus - muudan oma postituse sisu kuni 30 minuti vältel pärast postitamist.

                          Comment


                            #14
                            Re: Vs: Paluks abi AVR C koodiga

                            Kui v&#228;hegi progremist oskad, siis soovitan kogu see 595 interfeiss SPI k&#252;lge &#252;mber t&#245;sta. t&#246;&#246;tab v&#228;ga edukalt ja kiiremini (Segab v&#228;hem teiste asjade t&#246;&#246;d). see library, mis ennist andsin oli see, mida enne kasutasin. n&#252;&#252;d olen SPI peal (Hardware SPI. samad pinid, mis ISP progremisel).

                            Ah ja seda ka, kui aru ei saanud juhuslikult, et see ...c.txt tuleb &#252;mber nimetada .c'ks ja ...h siis vastavalt .h'ks. siis saan need tegelased includida ja otse kasutada. Kirjutatud AVR GCC's.

                            Comment

                            Working...
                            X