Hallo alle zusammen, ich hantiere schon eine ganze Weile mit dem AT89C5131 und für die Verbindung zum PC (weil es so schön einfach ist) hab ich immer mit einer USB2RS232 Bridge gearbeitet. Es "juckt" mich schon eine geraume Zeit, den AT89C5131 als USB-Bridge zu verwenden (ähnlich, wie das mit einem AT-Tiny der AVR Serie auch funktioniert). Im Netz dazu findet man dummerweise immer nur die Applikation von Atmel selbst unter: http://www.atmel.com/Images/c5131-usb-cdc-1_2_1.zip Dachte ich mir, so schwierig kann das nicht sein und versuche das. Mein Compiler ist Ride7 von Raisonance. Jetzt hab ich das Problem, dass sich dieses Paket nicht compilieren läßt. Einige Inkompatibilitäten hab ich ausgeräumt, allerdings bekomme ich den Fehler für das STDIO.H nicht weg. Hier meldet der Compiler für die (immens wichtigen) PUTCHAR und GETCHAR Funktionen einen Type redeclaration error ! Hab ich alle Quelldateien nachgesehen und dann die Typ-Definition in den Atmeldateien geändert und hangele mir neue Fehler ein. Zu meiner Schande muß ich gestehen, dass ich noch nicht einmal das beigefügte Hex-File als Demo zum laufen bekomme, der Controller meldet sich nicht als USB-Device ! Hat schon mal jemand eine solche Bridge erstellt, die sich mit Ride7 übersetzen läßt oder kann mir jemand sagen wo ich funktionierende Quellcodes laden kann, damit ich diese für eigene Applikationen nutzen kann? Wohlbemerkt: Ich meine nicht den USB-Bootloader des Controllers für ein Upload eines Programmes (das funktioniert ja prima). Ich möchte schlicht eigene Applikationen schreiben, die dann über USB mit einem PC kommunizieren können und ich nicht jedes mal einen zusätzlichen FTDI Chip benötige ! Nette Grüße Ralph
Ralph S. schrieb: > Einige Inkompatibilitäten hab ich ausgeräumt, allerdings bekomme > ich den Fehler für das STDIO.H nicht weg. Hier meldet der Compiler für > die (immens wichtigen) PUTCHAR und GETCHAR Funktionen einen > > Type redeclaration error ! Details? Woher kommt die stdio.h, die Du da verwendest?
Das ist die STDIO.H von RIDE7 selbst... nicht manipuliert, das Paket von Atmel bindet die ein. Leider deklariert das Paket in einem Modul Putchar und Getchar vor dem Einbinden der STDIO sodaß der Fehler im originalen STDIO von Ride geschieht ! Die Typvereinbarung im Modul von Atmel ist eben eine andere als die von Ride. Ändere ich die von Atmel ... passiert nichts, ändere ich die STDIO.H von Ride passiert auch nichts ! Leider ! (in beiden Fällen handle ich mir wieder - logischerweise - neue Fehler ein)
Man bekommt dieses Codebeispiel ohne Nacharbeit mit der 4K-Demo von Keil zum laufen. Portieren ist nicht so simpel, leider.
Schade... "n bissi portieren" wäre ja nicht so schlimm, aber ein Typ-Fehler find ich schon arg... Abgesehen davon steht ja in der CONFIG.H des Atmel-Pakets ja explizit der Compiler von Raisonance ... hmmm und grübel. Allerdings - wenn man auf das Alter der Atmel-Applikation schaut - dürfte Atmel das für Ride 4 oder 5 gemacht haben .... (leider hab ich keinen so alten Compiler mehr zur Verfügung)
Ralph S. schrieb: > Leider deklariert das Paket in einem Modul Putchar und Getchar vor dem > Einbinden der STDIO sodaß der Fehler im originalen STDIO von Ride > geschieht ! Wie sind die denn genau deklariert? Poste doch mal die betreffenden Zeilen, sowohl aus der stdio.h Deines Compilers als auch die aus "dem Paket".
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.