- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 12

Thema: Bild aus optischer Maus mit Bascom auslesen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    36
    Beiträge
    967
    Klar kann der ATMega8 das.


    Code:
    $regfile = "m8def.dat"
    $crystal = 16000000
    $baud = 19200
    
    
    Ddr_sck Alias Ddrc.4
    Ddr_sdio Alias Ddrc.5
    
    Port_sck Alias Portc.4
    Port_sdio Alias Portc.5
    Pin_sdio Alias Pinc.5
    
    Declare Sub Adns2610_init()
    Declare Sub Adns2610_write_byte(byval Write_byte As Byte)
    Declare Function Adns2610_read_byte() As Byte
    Declare Sub Adns2610_write_operation(byval Address_byte As Byte , Byval Data_byte As Byte)
    Declare Function Adns2610_read_operation(byval Address_byte As Byte) As Byte
    
    On Urxc Onrxd
    Enable Urxc
    Enable Interrupts
    
    Dim Empfangsbyte As Byte
    Dim Zeichen As String * 1
    Dim Print_byte As Byte
    
    Declare Sub Picture()
    Declare Sub Properties()
    Declare Sub Xy()
    
    Call Adns2610_init()
    
    
    
    Dim Read_data As Byte
    
    Read_data = 0
    
    
    
    
    Do
    
    
    
    
    
    Loop
    End
    
    Onrxd:
    
      Empfangsbyte = Udr
    
      Zeichen = Chr(empfangsbyte)
    
      If Zeichen = "#" Then
    
          Call Picture()
    
      End If
    
      If Zeichen = "!" Then
    
          Call Properties()
    
      End If
    
      If Zeichen = "$" Then
    
          Call Xy()
    
      End If
    
    Return
    
    Sub Picture()
    
       Call Adns2610_write_operation(&H00 , &H01)
    
       Waitus 500
    
       Call Adns2610_write_operation(&H08 , &H00)
    
       Waitus 100
    
       Local I As Integer
    
       For I = 1 To 324
    
          Print_byte = Adns2610_read_operation(&H08)
    
          Print Print_byte;
    
          Waitms 10
    
       Next I
    
    End Sub
    
    Sub Properties()
    
       Print_byte = Adns2610_read_operation(&H04)
    
       Print Print_byte;
    
       Waitms 10
    
       Print_byte = Adns2610_read_operation(&H09)
    
       Print Print_byte;
    
       Waitms 10
    
       Print_byte = Adns2610_read_operation(&H0a)
    
       Print Print_byte;
    
    End Sub
    
    Sub Xy()
    
       Print_byte = Adns2610_read_operation(&H03)
    
       Print Print_byte;
    
       Waitms 10
    
       Print_byte = Adns2610_read_operation(&H02)
    
       Print Print_byte;
    
    End Sub
    
    Sub Adns2610_init()
    
       Ddr_sck = 1
       Ddr_sdio = 1
    
       Port_sck = 1
       Port_sdio = 1
    
       Call Adns2610_write_operation(&H00 , &H80)
    
       Waitus 250
    
    End Sub
    
    Sub Adns2610_write_byte(byval Write_byte As Byte)
    
       Local I As Byte
    
       Ddr_sdio = 1
    
       For I = 7 To 0 Step -1
    
          Port_sck = 0
    
          Port_sdio = Write_byte.i
    
          Waitus 1
    
          Port_sck = 1
    
          Waitus 1
    
       Next I
    
       Ddr_sdio = 0
       Port_sdio = 0
    
    End Sub
    
    Function Adns2610_read_byte() As Byte
    
       Local I As Byte
    
       Local Data_byte As Byte
    
       Waitus 250
    
       For I = 7 To 0 Step -1
    
          Port_sck = 0
    
          Waitus 1
    
          Port_sck = 1
    
          Data_byte.i = Pin_sdio
    
       Next I
    
       Adns2610_read_byte = Data_byte
    
    End Function
    
    Sub Adns2610_write_operation(byval Address_byte As Byte , Byval Data_byte As Byte)
    
       Address_byte = Address_byte Or &B10000000
    
       Call Adns2610_write_byte(address_byte)
       Call Adns2610_write_byte(data_byte)
    
    End Sub
    
    Function Adns2610_read_operation(byval Address_byte As Byte) As Byte
    
       Call Adns2610_write_byte(address_byte)
    
       Adns2610_read_operation = Adns2610_read_byte()
    
    End Function
    Ich hab den jetzt aber nicht gekürzt. Aber ich denke, da sollte jeder in der Lage sein, die nötigen Subs herraus zu lesen.

    Viel Erfolg damit.

    Wenn noch Fragen bzgl. Maussensor sind, einfach fragen.

    Gruß
    Hacker
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    23.03.2011
    Beiträge
    51
    gibt es diese Code auch in C?

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hallo,

    hast du dir den Code mal angesehen? Ich denke, den könnte man innerhalb kurzer Zeit selbstständig in C übersetzen, den es sind nur wenige / keine Bascom-Spezifische Befehle enthalten. Wenn du Fragen hast, kannst du diese gerne Stellen, jedoch kann ich nur Bascom, aber ich denke, ich kann dir das meiste erklären, sodass du es dann in C umsetzen kannst.
    BTW:
    Hast du dir mal angesehn, wann die Beiträge verfasst wurden? Ich bin mir nicht sicher, ob all diese User überhaupt noch im Forum aktiv sind...

    Gruß
    Chris

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test