Teade

Collapse

Foorumi reeglid.

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

USB kontrolleriga väljundid ja sisendid

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

    #16
    Re: Vs: USB kontrolleriga väljundid ja sisendid

    Esmalt postitatud tyyp88 poolt
    Jah on küll. vehi datasheet ja hakka koodi kirjutama. Igati odavam ja maybe isegi kiirem, kui su USB: igatahes võtab see palju vähem resursse, kui too töötab (võrreldes USB'ga). samuti hinnavahe on 15.- vs 500.-

    Comment


      #17
      Vs: Re: Vs: USB kontrolleriga väljundid ja sisendid

      Esmalt postitatud bloody-orc poolt
      Jah on küll. vehi datasheet ja hakka koodi kirjutama. Igati odavam ja maybe isegi kiirem, kui su USB: igatahes võtab see palju vähem resursse, kui too töötab (võrreldes USB'ga). samuti hinnavahe on 15.- vs 500.-
      Tulin just hetk tagasi ühest kohalikust tehnika poest ja tellisin need jubinad ära, igaksjuhuks võtsin 4, nagunii esimene läheb aiataha

      Comment


        #18
        Re: Vs: Re: Vs: USB kontrolleriga väljundid ja sisendid

        kõigepealt pane üks kivi LPT taha. kui selle tööle saad, siis ühendad teise selle esimese järgi ja lachi ning clocki jmt kokku (nagu datas näidatud). Siis lihtsalt pulsid mitte 8 bitise numbri välja, vaid juba 16 bitise. Paned kive juurde, ka bittide arv suureneb. Kui 8/16/24/32 bitti välja tulistatud tõmbad lachiga need bitid ka väljunditesse ja BOOM ongi 32 LED'i vastavalt põlemas
        Lihtne eks

        Comment


          #19
          Vs: Re: Vs: Re: Vs: USB kontrolleriga väljundid ja sisendid

          Esmalt postitatud bloody-orc poolt
          kõigepealt pane üks kivi LPT taha. kui selle tööle saad ... tõmbad lachiga need bitid ka väljunditesse ja BOOM ongi 32 LED'i vastavalt põlemas
          Lihtne eks
          Tänud, teoorias on alati lihtne Saab kogu kraami kätte siis õhtud on vähemalt sisustatud Kui väga hätta jään, eks siis tulen siia vinguma

          OT:
          http://www.tevalo.ee/cgi-bin/web_sto...rtnr=42-053-40

          Nüüd sealt klass I, 12×5×5 0.65 mm - kas sinna läheb Nokia akulaadija?

          Comment


            #20
            Re: Vs: Re: Vs: Re: Vs: USB kontrolleriga väljundid ja sisendid

            mõõda plug pin ära (e siis akulaadia)
            aku laadiaid on ka erinevad.

            Muide, milles sa koodi kirjutad? mul on C's sellele tegelasele soft olemas (küll AVR'ile aga lihtsasti porditav, kui C'd mõistad) HC'st siis jutt. kivi

            Comment


              #21
              Vs: Re: Vs: Re: Vs: Re: Vs: USB kontrolleriga väljundid ja sisendid

              Esmalt postitatud bloody-orc poolt
              Muide, milles sa koodi kirjutad? mul on C's sellele tegelasele soft olemas (küll AVR'ile aga lihtsasti porditav, kui C'd mõistad) HC'st siis jutt. kivi
              Viimasel ajal enamasti istun Visual Basic 8 taga,

              C++ saan aru, kui natukese meelde tuletan, niiet puhta C'ga ei tohiks väga suuri probleeme olla. Aga ega mul ei oleks sellevastu midagi kui saaks selle softi

              Comment


                #22
                Re: Vs: Re: Vs: Re: Vs: Re: Vs: USB kontrolleriga väljundid ja sisendid

                Kommentaarid on koodis sees. Loodan, et saad aru.

                Kood:
                // Pinnide nimed. Sinul siis D0 kuni D2 LPT pordis. 
                #define CLK     0
                #define CLKP    PORTB
                #define DATA     1
                #define DATAP    PORTB
                #define LATCH     2
                #define LATCHP    PORTB
                
                #define DATA1 DATAP |= (1<<DATA);
                #define DATA0 DATAP &= ~(1<<DATA);
                
                void latch()  //Lachime bitid "m&#228;lust" v&#228;ljunditesse
                {
                    LATCHP |=  (1<<LATCH);
                    _delay_us(10);
                    LATCHP &= ~(1<<LATCH);
                    _delay_us(10);
                }
                
                //#define clock CLKP |=  (1<<CLK);  _delay_us(1); CLKP &= ~(1<<CLK);  _delay_us(1);
                void clock()  //clockame aga bitte edasi m&#246;&#246;da kivi...
                {
                    CLKP |=  (1<<CLK);
                    _delay_us(1);
                    CLKP &= ~(1<<CLK);
                    _delay_us(1);
                }
                
                void send_data ()  //saadame datat kivvi. saadetav byte on variabelis dta.
                {
                    for (x = 128;x > 0; x = x/2) //v&#245;rdle bitte ja vastavalt sellele k&#252;ta 
                    {                                    //v&#228;ljund kas k&#245;rgeks v&#245;i madalaks)
                        if((dta) & x)
                        {
                            DATA1;
                        }
                        else
                        {
                            DATA0;
                        }
                        clock();
                    }
                }
                //saatmise rutiin:
                dta = 125;    
                send_data();
                latch();
                //end of saatmise rutiin

                Comment


                  #23
                  Vs: USB kontrolleriga väljundid ja sisendid

                  Kirjutan siis jälle üle pika aja.
                  Sain lõpuks kätte enda 3tk M74HC595B1 kivi

                  Nii, nüüd kolb sooja ja datasheeti otsima

                  Comment


                    #24
                    Vs: USB kontrolleriga väljundid ja sisendid

                    Kui LPT taha tahad mitu kivi panna, siis pigem pane nende kõigi data sisendid eri pin'ide külge. Siis saab kõik kivid 8 taktiga laadida (niikuinii tuleb 8 takti tegemiseks 16 pordi kirjutamist juba). Kasulik oleks panna kõigi RCLK otsad ka eri pin'ide külge, siis saad ainult ühte kivi uuendada kui vaja ja jätta teised samaks. Seega - kõigi kivide srclk'd kokku ja ühele pordi pin'ile; OE ja srclr võib kõik maha ühendada, ilma nendeta saab ka hakkama. Ja lõpuks iga kivi ser ja rclk eraldi pordi pin'ile.
                    Arvestades, et LPT's on 8 mõlemasuunalist pin'i ja lisaks veel 4 väljundit, saab 10 kivi panna = 80 väljundit.

                    Comment

                    Working...
                    X