Teade

Collapse

Foorumi reeglid.

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

Tahaksin kivide programmeerimist õppima hakata.

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

    Tahaksin kivide programmeerimist õppima hakata.

    On siis soov hakata kivide programmeerimist hakata õppima omal käel. Soovitage midagi.(mis programm, mis keel) Tahaks siis algselt simulaatoriga, et ei pea kivi ja progrejat ehitama. on see kuidagi võimalik?
    Plaan siis robootikaga ligemalt tegelema hakata, kõik oskused peale progremise on enamvähem omatud.

    #2
    oleneb kui rasket alustuseks tahate.
    alustuseks on hea mikrodega tutvumiseks picae(mida ma müün stardikomplekti; otsi ostumüügi foorumist)
    ssamas kui soovid midagi võimsamat, siis PIC või AVR. üks neist on ASMis kirjutamiseks teine C'peale tehtud (kuigi mõlemad töötavad mõlemaga). se kasutan nii picaxet kui AVR'i (avr on õppimisjärgus). mõlemal on olemas ka simulaator. yhel on MpLab(pic) teisel AVRstudio(avr loomulikult). mterjali leiad internetist tutorialide näol.

    Comment


      #3
      Ise sai ka hiljuti PIC kontrollereid õppima hakatud. Mõned räägivad, et AVR on lihtsam ja loogilisem. Mina ei tea, pole AVRi kohta head ülevaadet leidnud. Ma arvan, et oleks mõistlik alustada ikka kas PIC või AVRga. Keeleks ikka assembler, samuti ei oska eriti midagi C kohta öelda, pidi jälle nagu lihtsam olema, aga samas andmelehel on näited assembleris, siis pole vaja tõlkima hakata. Minu jaoks tundub C kood pisut imelik kah, aga seda ainult pealevaatamise tasemel. ASM on ikka otseselt rauaga seotud, kas C ka on, seda oskab võibolla mõni targem öelda. Siiamaani on läinud kõik normaalselt, ei ole midagi üle mõistuse olnud. Katsetada meeldib mulle isiklikult rohkem rauaga, simulaatorid eriti ei istu. Aga kui vaja jälgida mida üks või teine asi tegelikult teeb on ikka simulaatorit vaja, ega kivi peale vaadates ei näe mis seal toimub. Ise kasutan PIC simulator IDE programmi. Korralik ülevaade on olemas, samuti saab simuleerida igasugust rauda, LCD, 7segment display, oss, generaator jms. Kõikides registrites toimuv on ilusti näha. Minuarust kõik olemas, ainuke puudus on see, et kivisid on vähevõitu.
      Rauast kasutan isevalmistatud demoplaati, PICSTART plus programmaatorit ja muidugi programmeerimiseks MPLAB
      ...

      Comment


        #4
        asmilke ütlen niipalju vastu, et suurt programi on sellega võimatu teha. ja robotid tahavad suurt programmi. C on selles suhtes parem , et sellel on ka omamoodi commandid (e siis omatehtud), mida sa siis kasutada saad, nt. print_to_LCD("smt"); vmt. AVR infolehtedes on antud exampelid ka C's kirjutatuna.

        Comment


          #5
          C on mõistlikum, kui tegemist on algoritmidega. Kui on tegemist nt. 232 IO rutiinide või bitivägistamisega, siis on asm jälle palju lihtsam. Ehk siis segakeel ruulib.

          Comment


            #6
            Assembleri eeliseks nimetaks võimalust hoida kogu prose kindlalt oma kontrolli all. Ei või iial teada, mismoodi C keele kompilaator töötab ja kuivõrd kiireid tsükleid ta teeb. Mingi roboti juhtimine on suhteliselt aeglane tegevus ja sel puhul on küll kasulik mõnda kõrgkeelt (nagu C, Pascal, isegi Basic kuigi sellesse suhtutakse põlglikult) kasutada. Aga niipea, kui asi läheb kiireks, võtaks mina küll assembleri kätte. Maitse asi muidugi, ma ju C-d eriti ei tunne. Mõni spets väänab ehk seal ka video töötluse valmis, mina pidin asmis tegema.
            Ei ole ilus ennast reklaamida kuid ju ma siis olen edev: panin pisikese jutukese PIC-prosede kohta koos koodinäidetega siia üles. See on küll minu lemmiku - PICi kohta ja ainult assembleri jaoks aga ehk siiski abiks. Kui tahad näiteid katsetada, pead tõmbama www.microchip.com lehelt nende arenduskeskkonna MPLAB (tasuta&#33. Microchipi C-keel on paraku tasuline kuid kui kasutad PIC16F627-t saad ka tasuta versiooni!
            AVR-i jaoks on tootjal Atmelil olemas sarnane arenduskeskkond - AVR Studio. Tasuta! Foorumis on olemas ka lingikogu AVR-i huviliste jaoks, samuti PIC-i jaoks.
            Aga on veel olemas Inteli 8051 ja sarnased prosed. Samuti põnevad, nt. selline, mis sisaldab raadiosaatjat/vastuvõtjat: http://www.tevalo.ee/cgi-bin/web_sto...rtnr=73-008-09 Robotile mõeldes...
            - 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


              #7
              pole suurt vahet, mis prosega alustad, kui meeldib, siis omandad peatselt 2.,3., jne. elektroonika areneb praegu meeletu tempoga ja kaua yhe platvormi peal ei pysi. tendents on körgkeeles kirjutada, mälu ei maksa suurt midagi ja kui kiirusest napib, valitakse körgema taktiga isend. C ja asmi suhtest et, palja C-ga raske hakkama saada, sest programmi silumisel ei saa siis aru vigadest, palja asm-ga kah suurt midagi korda ei saada, kui just kogu noorust sinna ohverdada ei soovi. lyhidalt, C-d tasuks (hästi) tunda, aga asm-st aru saada. ja veel, mingi odava kontrolleri peaksid ikka proovimiseks soetama, simulaator on nagu paberi-pliiatsiga programmeerimine.

              Comment


                #8
                Ei puutu küll otseselt siia teemasse, aga oleks üks küsimus felchile. Mind täitsa hakkas huvitama see 8051, kust võiks leida selle kohta mõistlikku informatsiooni ja assembleri õpetusi?
                ...

                Comment


                  #9
                  seega alustan siis C õppimisega? Hiljem uurin ASM-i?

                  Aga kas simulaator simuleerib progremmaatorit ja kivi? Et kas ma saan nii teha et kui kusagilt anda signaal siis simulaator näitab mida kivi signaali järgnedes teeb vms.? või kudas see asi välja näb?

                  Comment


                    #10
                    simulaatoris saad koodi panna oma breakpointid, kus siis töötlus katkestatakse. Ise saad klõpsida sisendregistreid ja vaadata väljundregistreid ehk ise nagu mängida kaasa välismaailma.
                    Üldiselt mina soovitaks AVR platvormil alustada, uus Atmega88 ei maksa suurt midagi ja selle raha eest on räni ikka küllaga. Enam-vähem kõik tüüpilised osad olemas (taimerid, ad, uart, pwm jne), 8k mälu täiskirjutamiseks peab ikka üksjagu vaeva nägema ja 20MHz taktilt jooksutades 1-2 takti käsu kohta(PIC'il 4) on jõudlust ka üksjagu. Ning AVR Studio on tasuta ja selle uuele versioonile on isegi tasuta GCC C-kompilaator sisse pandud (picile pole minuteada tasuta c kompilaatorit). avrfreaks.com oleks suht hea koht avr'ide kohta alustamiseks, c õppematerjale on terve nett täis.

                    Comment


                      #11
                      Varu aega. Robootika jaoks läheb kõvasti aega. Rohkem, kui Sa arvestasid.

                      8051 (ja enne ka 8031) oli MIKROKONTROLLER enne seda, kui PIC ja AVR turgu vallutama hakkasid. On ka praegugi.

                      Keele valik sõltub Sinu projektide suurusest. Kui projekt on väga väike (500 rida vms.), siis erilist vahet ei ole. Kui projekt on vähegi suurem, siis C, Pascal vms kõrgkeel. Probleem on ajas. Kõrgkeeles kirjutatud programmid tulevad 2..5x lühemad ja vastavalt ridade arvule kulub vähem aega ka nende kirjutamisele ja debugimisele. Kas kulutad nädala või kolm nädalat, minu arust on suur vahe.

                      Kui otsustad kõrgkeeles kirjutada, võib vahest ka vastava mikrokontrolleri assembleri teadmisest abi olla, kuid üldjuhul pole vajalik. Aga kui üldse pole assembleris pusinud, aga tahaks n.ö. "suurt pilti" asjadest saada, soovitan paar väikest projekti assembleris ära teha, sellest 99.99% juhtudel piisab eluks ajaks.... mul on 10a tagasi õpitud 8080 ja 8086 assembler siiamaani meeles, kuigi kasutasin neid ainult 6 kuud.

                      Muide, AVR-i datasheet'idel on kõrvuti näited assembleris ja C-s. avr-gcc jaoks tuleb näited natukene kohendada, aga põmst. käravad küll.
                      If you think education is expensive, try ignorance.

                      Comment


                        #12
                        8051 kohta on olemas leht www.8052.com ja eks neid koodinäiteid ole netis kah omajagu. Iga konkreetse kivi kohta loeksin pigem tema andmelehte. Tootja vihjab seal enamasti ka põhjalikumale materjalile (selle kivi spetsiifiliste omaduste kohta).
                        mõned lingid:
                        - http://www.pjrc.com/tech/8051/serial_io.html
                        - http://web51.hw-server.com/
                        - http://www.boerde.de/~matthias/m8051/
                        - http://www.pjrc.com/tech/8051/ide/index.html

                        AVR-i gcc pole vist eriti hea - proovisin atmega8 peal: Nokia LCD library+DS1820 ja mälu oligi täis!
                        - 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


                          #13
                          felch Postitatud Täna, 11:53
                          AVR-i gcc pole vist eriti hea - proovisin atmega8 peal: Nokia LCD library+DS1820 ja mälu oligi täis!
                          pigem arvan et Sa ei oska linkerit konffida ja jätad palju tarbetut sisse ( vöörad fondid jne). GCC ei ole oluliselt kehvem näiteks 2000$ maksvast IARi kompilaatorist, proovitud. ntx tehet N/8 oskas GCC teisendada N>>3 kujule, mis on palju kiirem jagamisest, mida IAR tegema töttas ( söltumata optimeerimise tasandist). just see ongi koht, kus peab oskama ASMi- proovid nii ja naa ning löpuks leiad listingut uurides optimaalse tee nii koodi mahu kui kiiruse osas.

                          Comment


                            #14
                            Uh. Üks maru vana avr-gcc tootis kole lohmakat koodi optimiseerimise võtmega -O2, aga millegipärast on arvata, et Sul on uuem... Tol juhul aitas -Os.

                            Väga väikese koodibaasi põhjal arvestades tuleb 1000 rea C koodi kohta 2.2 kilobaiti binaarkoodi, ehk siis ATmega8 sisse peaks vähemalt 3kLOC-i sisse mahtuma. Kui füüsiliselt seda arvu ridasid kokku ei tule, peab otsima seadistused/võtmed läbi.
                            If you think education is expensive, try ignorance.

                            Comment


                              #15
                              Eh, jah. Eks ma ikka ise süüdi olen. Ja libraryd sisaldavad ju ka kõikvõimalikke asju mida oma koodis ilmtingimata vaja ei pruugi olla. Tuleb vaid osata asjasse mitte puutuvat välja visata.
                              - 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