Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Emulacja klawiatury komputerowej na PS2

webserver 27 Gru 2006 22:15 7628 36
  • #31
    MODI
    Poziom 17  
    Adam_dz napisał:
    dziękuje,
    rownież życzę spokojnych radosnych i wesołych Świąt Bożego Narodzenia.
    Pozdrawiam.
    Adam

    //EDIT:
    Tam sie tylko zapytam..
    jakim cudem pętla nieskonczona generuje zwłokę?
    bo na pewno kilka ms (us) nie trwa takie cos:
    Code:

     wait=3;
    TCNT0=0;
     while(wait);

    chyba ze nie wiem jak działa while, to mnie douczcie (jesli mozna)..


    pętla while(wait); jest robi "nic" dopóki wait nie jest =0. W przerwaniach(od timera) wait jest zmniajszane co powoduje kazania procesorowi robienia nic przez jakiś czas.

    wait=3;
    TCNT0=0;
    while(wait);

    spowoduje zatrzymanie procesoea na 3 przerwania od timera.
  • #32
    Adam_dz
    Poziom 12  
    o widzisz.. dzięki :)
    wyłazi moje niedouczenie...
  • #33
    Rubik
    Poziom 15  
    O ile moge się podłączyć do tematu to pytanie brzmi: jaką sekwencją wysłać reset kompa czyli CTRL-ALT-DEL ? Pozdro RUBIK
    PS
    Czy udało sie komus jednoznaczniezałatwić sprawe odpowiadania komputerowi?
  • #34
    webserver
    Poziom 12  
    Kolego temat juz dano zamkniety jak posklejasz troche ten kod co tu jest to wyjdzie ci dzialajacy ja tak zrobilem i wszystko mi dzialalo w bascom ;) ale to juz stare dzieje ...
  • #35
    Rubik
    Poziom 15  
    webserver napisał:
    Kolego temat juz dano zamkniety jak posklejasz troche ten kod co tu jest to wyjdzie ci dzialajacy ja tak zrobilem i wszystko mi dzialalo w bascom ;) ale to juz stare dzieje ...


    No to dzięki i papa
  • #36
    grzesiekskc
    Poziom 11  
    Przepraszam że odgrzewam tak stary temat jednak spędziłem przy tym prawie całą nockę kombinowałem jak mogłem jednak nie podołałem zadaniu.. :(
    Korzystając z tego kodu:

    Code:

    $regfile = "m16def.dat"
    $crystal = 400000

    Declare Sub Wyslij(byval Bajt As Byte)
    Dim N As Byte
    N = 0
    Dim Parz As Byte
    Parz = 0
    Dim B As Bit
    Set Portd.0
    Set Portd.1
    Do
    Call Wyslij(&H1c)                                           'przyklad
    Loop
    End


    Sub Wyslij(byval Bajt As Byte)

    Reset                       'wysylamy bit startu
    Waitus 20
    Reset Portd.0

    For N = 0 To 7   'w petli wysylamy kolejne bity bajtu
    Portd.1 = Bajt.n
    Parz = Parz + Bajt.n
    Set Portd.0
    Waitus 20
    Reset Portd.0
    Waitus 20
    Next N

    Set Portd.0
    Parz = Parz Mod 2
    Portd.1 = Not Parz.0
    Waitus 20
    Reset Portd.0
    Waitus 20

    Set Portd.1               'i bit stopu
    Set Portd.0
    Waitus 20
    Reset Portd.0
    Waitus 20
    Set Portd.0
    Waitus 40             'dla bezpieczenstwa :D
    End Sub


    Który oczywiście był parę postów wcześniej, używając rezystorów podciągających zmieniając taktowanie zegara wartości "waitus" na większe np.23 to jednak nadal po podłączeniu do komputera w notatniku nie widzę żadnego znaku pomimo tego że nie piszczy itp (chodź to może byś winą wyłączenia bipera w biosie czy coś takiego) Całość tego układu mam zmontowane na płytce uruchomieniowej AVR więc nic nie ma prawa być źle dolutowane czy coś.

    Proszę o pomoc i jakąś rade... czy to wina kodu czy też nieumiejętnej obsługi.
  • #37
    PiotrLotnik
    Poziom 15  
    No właśnie
    Ja też chciałbym ożywić ten temat.
    Chce podłączyć ATMETA 32 do PC tak, żeby mógł wysyłać dowolne klawisze jak klawiatura i jednocześnie mieć podłączoną standardową klawiature.

    Jaka jest wasza opinia na ten tepat? Czy można podłączyć je jednocześnie czy lepiej podłączyć klawiature do ATMEGI i dalej przesyłać na PC odebrany znak.

    ATMEGA====PC====KLAWIATURA
    czy
    KLAWIATURA ===ATMEGA=====PC
    Pozdrawiam
    Piotr

    PS. Można prosić o jakiś działający przykładowy program w BASCOMie?