AVR und realview

Wir bemühen uns Ihre Fragestellung zu beantworten.
Antworten
abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

AVR und realview

Beitrag von abacom » Dienstag 30. September 2008, 10:14

avr-bastler



Anmeldungsdatum: 29.09.2007
Beiträge: 4

Verfasst am: 29.09.2007 12:44 Titel: AVR und realview

--------------------------------------------------------------------------------

Hallo,
ich habe ein einfaches experimentierboard für den atmega8 von "myavr". Damit kann ich die ADC-Funktion des atmega nutzen und die messwerte über die RS232-Schnittstelle zum PC senden. Diese Werte werden auch über ein kleines Terminal-Programm (AVR-Terminal) prima angezeigt. Nun meine Frage: gibt es eine Möglichkeit, diese Messwerte auch mit Realview1.0 auszuwerten? Dort lassen sich ja unter "Hardware" eigentlich nur bestimmte Messgeräte einbinden.

Danke!

Nach oben


abacom
Site Admin


Anmeldungsdatum: 30.06.2006
Beiträge: 898

Verfasst am: 29.09.2007 14:24 Titel:

--------------------------------------------------------------------------------

Da Sie den AVR ja frei programmieren können, können Sie damit das Protokoll eines bereits unterstützten Gerätes 'immitieren', von dem das Datenprotokoll bekannt ist, wie z.B. dieses...

http://www.h-tronic.com/Presse/download/1191028BA.pdf

In diesem Fall bekäme Ihr AVR z.B. von RealView einen Request, auf den Sie dann entsprechend der Protokolldefinition antworten müssen.

Nach oben


ExpertProfi



Anmeldungsdatum: 20.08.2006
Beiträge: 50

Verfasst am: 29.09.2007 21:42 Titel:

--------------------------------------------------------------------------------

Cooler Vorschlag, aber nicht ganz so einfach, wie abacom meint. Man muss auch die Hardware entsprechend auslegen. Beim o.g. Vorschlag ist die Baudrate mit 115200 vorgegeben (durch das H-Tronic-Gerät). Das kann man zwar ins AVR-Programm leicht reinschreiben. Funktioniert aber nur wenn man den AVR dann auch mit einer passenden Quarzfrequenz taktet! Je höher die geforderte Baudrate ist, umso schwieriger wird es nämlich den Takt passend herunterzuteilen. So viel zu "frei programmierbar'

Habe bei Conrad 3.6864 MHz entdeckt. Das passt genau! Muss ich mir mal besorgen. Der Ehrgeiz ist geweckt...

Nach oben


avr-bastler



Anmeldungsdatum: 29.09.2007
Beiträge: 4

Verfasst am: 29.09.2007 23:22 Titel:

--------------------------------------------------------------------------------

Vielen Dank erstmal. Ich muss jetzt mal bissel probieren. Gerade versuche ich, mit bascom ein Programm zu schreiben, mit dem mein atmega8 das M232- Messmodul von ELV für REALVIEW emuliert. Leider funktioniert es noch nicht.
trotzdem recht vielen Dank für eure Hinweise.

R.

Nach oben


ExpertProfi



Anmeldungsdatum: 20.08.2006
Beiträge: 50

Verfasst am: 06.10.2007 20:22 Titel:

--------------------------------------------------------------------------------

An (alle) AVR-Bastler. Ich hab´ heute mein Quarz von (C) bekommen. Mein Pseudo-Messmodul funktioniert jetzt. Die Source könnt Ihr hier downloaden:

http://www.expertprofi.ag.vu/Pseudo.zip

Von RealView hab´ ich leider nur die Demo. Damit funktioniert´s. Mit PL-Expert auch. Scheint sogar schneller als das Original!? Bitte die ReadMe.txt lesen! War´ne nette Idee von Euch.
Have fun!

Zuletzt bearbeitet von ExpertProfi am 07.10.2007 22:16, insgesamt 2-mal bearbeitet

Nach oben


avr-bastler



Anmeldungsdatum: 29.09.2007
Beiträge: 4

Verfasst am: 07.10.2007 00:59 Titel:

--------------------------------------------------------------------------------

Hallo ExpertProfi,

ich habe versucht Dein Programm zu modifizieren für das M232 Messmodul von ELV. Aber irgendwas Klemmt noch. Für einen Hinweis wäre ich dankbar.
Im Anhang die Beschreibung von M232 ist hier http://www.elv-downloads.de/service/man ... 020423.pdf.

Nach oben


ExpertProfi



Anmeldungsdatum: 20.08.2006
Beiträge: 50

Verfasst am: 08.10.2007 00:33 Titel:

--------------------------------------------------------------------------------

Tja die Sache war gar nicht so einfach. Man muss tatsächlich ALLE Requests bedienen, nicht nur den, den man gerade haben will. Das hier funktioniert.

Code:

' M232 Messmodul mit AVR


$regfile = "m32def.dat" ' ATmega32
$crystal = 3686400 '
$baud = 2400 ' Die Baudrate

' RS232 Input-Buffer aktivieren
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
Config Serialin = Buffered , Size = 20 ' RS232 input buffer
Enable Interrupts ' für RS232 buffer

' Variablen
Dim Cmd As Byte ' Empfangenes Zeichen vom PC
Dim W As Word ' Wert vom ADC
Dim H As String * 4 ' Hex

'Init ADC
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc

Do ' Endlos-Schleife:
Cmd = Waitkey()
If Cmd = 1 Then ' mit chr(1) geht los
Cmd = Waitkey() ' Request holen
Select Case Cmd ' und alle Requests bedienen!
'--- Analog Request, um diesen geht es ----
Case "a" :
Cmd = Waitkey()
Cmd = Cmd - 48 ' Kanal-Nr. holen
W = Getadc(cmd)
H = Hex(w)
Print Right(h , 3) ; "1"; ' Nur 3 Zeichen von HEX verden gebraucht; "1" anhängen
'-------------------------------------------
' Die anderen Requests nur als Dummy eingebaut
' damit die Sychronisation weiterhin stimmt...
Case "M":
Cmd = Waitkey()
Case "D"
Cmd = Waitkey()
Cmd = Waitkey()
Case "W"
Cmd = Waitkey()
Cmd = Waitkey()
Case "w"
Print "FF";
Case "d"
Cmd = Waitkey()
Print "0";
Case "z"
Print "0000";
Case "Z"
Cmd = Waitkey()
End Select
Cmd = Waitkey() ' schliesslich Chr(13) noch abholen
Print Chr(6); ' und alles mit ACK bestätigen
End If
Loop ' wieder von vorne

End



Zuletzt bearbeitet von ExpertProfi am 08.10.2007 21:22, insgesamt 2-mal bearbeitet

Nach oben


ExpertProfi



Anmeldungsdatum: 20.08.2006
Beiträge: 50

Verfasst am: 08.10.2007 19:03 Titel:

--------------------------------------------------------------------------------

Kannst Du so übernehmen. FUNKTIONIERT (jetzt) gaaaanz bestimmt..
Für die VREF musst Du selber schauen. Die anderen Requests könnte man natürlich auch noch implementieren. Das sind natürlich bisher nur Dummies, die nur dafür sorgen, das ggf. die richtige Anzahl Bytes gelesen und geschrieben wird, weil sonst alles ins Stocken gerät.

Nach oben


avr-bastler



Anmeldungsdatum: 29.09.2007
Beiträge: 4

Verfasst am: 08.10.2007 23:22 Titel:

--------------------------------------------------------------------------------

Hab eben nochmal probiert. Jetzt funktioniert es einwandfrei.
Meinen besten Dank vor allem an ExperProfi!!
Woher kommt im Code, Zeile 32 die "48" ?

Nach oben


ExpertProfi



Anmeldungsdatum: 20.08.2006
Beiträge: 50

Verfasst am: 09.10.2007 09:28 Titel:

--------------------------------------------------------------------------------

CMD = CMD-48 macht aus dem empfangenen ASCII-Zeichen "0"..."9" den Zahlenwert 0..9, denn ASCII("0") = 48. GetADC() braucht ja die Kanalnummer und nicht das ASCII-Zeichen. Das kann man bestimmt auch anders machen. Schön dass es auch bei Dir läuft. Ich bleib trotzdem bei der H-Tronic-Variante. Die ist einfach viel schneller.

Nach oben


abacom
Site Admin


Anmeldungsdatum: 30.06.2006
Beiträge: 898

Verfasst am: 11.10.2007 08:12 Titel:

--------------------------------------------------------------------------------

Wir haben dieses recht interessante Thema aus Gründen der Übersicht ein bischen gekürzt, damit es für Interssierte besser lesbar ist. Vielen Dank für Ihr Verständnis und die Beiträge.

Nach oben


abacom
Site Admin


Anmeldungsdatum: 30.06.2006
Beiträge: 898

Verfasst am: 13.05.2008 21:09 Titel:

--------------------------------------------------------------------------------

Mit dem Update vom 09.04.2008 steht nun ein dokumentiertes RS-232-Protokoll (User-Interface) zur Verfügung, das die einfache Anbindung eigener µC-Hardware erlaubt.
ABACOM support

Antworten

Zurück zu „REALVIEW HARDWARE Support“