Hallo, ich bin gerade dabei, in die Tiefen der µC-Programmierung (80c517a/Keil Compiler) vorzudringen. Habe zwar schon einiges Basiswissen und finde das Ganze verdammt faszinierend, aber es fehlt mir noch an Einigem. Bitte nicht schlagen, aber z.B. würde ich gern wissen, wie nun genau die Ansteuerung für einen I2C Bus zu realisieren ist (Stichwort Bustaktgenerierung). Nahziel ist erst einmal, eine RTC (externes Platinchen mit PCF8583, Uhrentakt kommt von eigenem Quarz - es geht also nur um die reinen Ansteuerungs-Basics via I2C) ans Laufen zu kriegen, um mit dem so Gelernten weiterarbeiten zu können (Sensoren etc.). Wenn ich das richtig verstanden habe, wird doch vom Master (µC) über Timer ein Interrupt ausgelöst, mit dem pro Intervall jeweils ein Taktsignal auf SCL und gleichzeitig ein Befehlsbit auf SDA gelegt wird - oder wie oder was? Habe mich zwar schon fast totgegoogled, aber außer allgemeiner Erklärungen zum Bus ist nicht viel dabei herumgekommen... zur konkreten Umsetzung muß ich da wohl was übersehen haben! Ich erwarte nun keine detaillierte Erklärung von Euch (hätte aber auch nix dagegen ;)), wäre aber für kommentierte Programmierbeispiele (ANSI-C), Links zu guten Skripten/Dokumentationen/Projekten sehr dankbar... Grüße, H.H.
Sorry, hatte vergessen zu sagen, dass ich das I2C-Protokollgedöns nach Möglichkeit rein softwaremäßig umsetzen möchte - also mittels "I2C-Emulation" zwei I/O Ports des Controllers für den Bus benutzen will. Komme aus dem IT-Bereich und da liegt mir Programmierung nun mal näher als Elektrotechnik... Habe da zwar Lösungsansätze für PICs gefunden, aber das nützt mir leider nicht viel, da ich Assembler nicht verstehe :(
Hi Ich kann dir folgende Seite ans Herz legen: http://www.humerboard.at/navi/f_anwendung.htm Dort gibts ein skript, dass sich mit I2C befasst.. dort sind auch Sourcen zu finden... für Keil. mfg schoasch
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.