Und kann ich dann auch Daten vom PC empfangen?
Druckbare Version
Und kann ich dann auch Daten vom PC empfangen?
Warum willst du denn nicht mit dem Interface arbeiten?
Das ist die einfachste und billigste Lösung.
Die billigste will ich nicht sagen und die Einfachste auch nicht unbedingt.
Schließlich benötigt man dafür einen Bootloader. Für einen In System Programmer so weit ich weiß nicht.
Nein, aber du brauchst für ISP ein ISP-Kabel. Wenn du das nicht selbst bauen willst ist das auch sehr teuer.
Und für das Interface ist doch schon alles dabei.
Welchen Vorteil hast du, wenn du ISP benutzt?
Ich habe de In System Programmer selber gebaut. Für höchstens 4 Euro.
Mir geht es darum, nicht nur den RP6 flashen und anfunken zu können sonder ich will auch einen M32 ohen schnickschnack benutzten können. Und das mit möglichst simplen Programmen und ohne die Libs vom RP6.
Wenn das alles über eine Schnittstelle geht die man mit zwei RFM-Modulen überbrücken kann wäre das super
Ja, das ist einfacher als man denktZitat:
Köönte ich denn auch über RS232 Texte übertragen?
Man muss nur den Port mit der richtigen Bitrate starten und (ich glaub) DTR auf high setzen, sonst gibts nen dauerreset
Eine Schaltung um +-12V auf TTL (0-5V) zu kriegen und andersherum gibts hier:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=53581
(Vor-vorletzter Beitrag (von mir) das Bild zum runterladen)
Ein Programm zu Schreiben und Empfangen für Textdateien hab ich mal in FreeBASIC realisiert (Keywords sind leicht verständlich, also sollte eigentlich kein Problem sein, notfalls in der Befehlsrefferenz auf "freebasic-portal.de" nachgucken):
ACHTUNG: "com3" muss durch den entsprechenden Port ersetzt werden!
(anbei die *exe falls du keinen FreeBASIC Compiler hast, gibts aber KOSTENLOS auf "freebasic-portal.de")Code:DECLARE FUNCTION TinyInput (Question AS STRING ,Original AS STRING) AS STRING
DIM AS STRING*1 temp
DIM AS STRING inputtemp, key
DIM AS INTEGER letternumber, oldlocx, oldlocy
SCREENRES 800, 600, 32
oldlocx = 1
oldlocy = 1
OPEN com "com3: 38400, N, 8, 1,cs0,ds0,cd0,rs" AS #1 '----- Das "com3" muss durch den enstprechenden Port ersetzt werden!!
COLOR RGB(0, 100, 0), RGB(255, 255, 255)
CLS
DO
oldlocx = POS
oldlocy = CSRLIN
PRINT " ";
LOCATE oldlocy, oldlocx
LINE (8*oldlocx-8, 8*oldlocy-1)-(8*oldlocx-8, 8*oldlocy-8), 0
key = INKEY$
IF key <> "" AND key <> CHR(13) THEN
IF key = CHR(27) OR key = CHR(255)+"k" THEN CLOSE #1: system
COLOR RGB(200, 0, 0)
inputtemp = TINYINPUT(">> ", key)
COLOR RGB(0, 100, 0)
FOR letternumber = 1 TO LEN(inputtemp)
PUT #1,, MID(inputtemp, letternumber, 1)
NEXT
PUT #1,, CHR(10)
ENDIF
WHILE LOC(1) > 0
IF key = CHR(27) THEN CLOSE #1: SYSTEM
GET #1,, temp
oldlocx = POS
oldlocy = CSRLIN
PRINT " ";
LOCATE oldlocy, oldlocx
PRINT temp;
WEND
LOOP
CLOSE #1
FUNCTION TinyInput (Question AS STRING ,Original AS STRING) AS STRING
DIM AS INTEGER Cur_line, Cur_pos, Cursorpos
DIM AS STRING key
Cur_line = CSRLIN
Cur_pos = POS
Cursorpos = 2
PRINT Question; Original;
LINE (8*(Cur_pos+LEN(Question)+Cursorpos)-16, 8*Cur_line-1)-(8*(Cur_pos+LEN(Question)+Cursorpos)-16, 8*Cur_line-8), 0
DO
DO
key = INKEY$
LOOP UNTIL key <> ""
IF key = CHR(13) THEN
EXIT DO
ELSEIF key = CHR(8) AND Cursorpos > 1 THEN
Original = LEFT(Original, Cursorpos-2)+RIGHT(Original, LEN(Original)-Cursorpos+1)
Cursorpos = Cursorpos-1
ELSEIF key = CHR(255)+"S" AND Cursorpos < LEN(Original)+1 THEN
Original = LEFT(Original, Cursorpos-1)+RIGHT(Original, LEN(Original)-Cursorpos)
ELSEIF (key = CHR(255)+"M") AND Cursorpos < LEN(Original)+1 THEN
Cursorpos = Cursorpos+1
ELSEIF (key = CHR(255)+"K") AND Cursorpos > 1 THEN
Cursorpos = Cursorpos-1
ELSEIF LEN(key) = 1 AND key <> CHR(27) AND key <> CHR(8) then
Original = LEFT(Original, Cursorpos-1)+key+RIGHT(Original, LEN(Original)-Cursorpos+1)
Cursorpos = Cursorpos+1
END IF
LOCATE Cur_line, Cur_pos+LEN(Question)
PRINT SPACE(LEN(Original)+2);
LOCATE Cur_line, Cur_pos+LEN(Question)
PRINT Original;
LINE (8*(Cur_pos+LEN(Question)+Cursorpos)-16, 8*Cur_line-1)-(8*(Cur_pos+LEN(Question)+Cursorpos)-16, 8*Cur_line-8), 0
LOOP
LOCATE Cur_line, Cur_pos+LEN(Question)
PRINT SPACE(LEN(Original)+2);
LOCATE Cur_line, Cur_pos+LEN(Question)
PRINT Original
TINYINPUT = Original
END FUNCTION
MfG
-schumi-
[EDIT]
hab ich vergessen: an welchem Port wird der RP6 voraussichtlich hängen, damit ich es richtig compilieren kann?
Bei mir hängt er auch an Com3! Schade das man mit RS232 nicht flashen kann!?
"auch an Com3" - dann brauch ich sogar nicht nochmal compilieren (3 sec.) :cheesy:
Funzt übrigens auch mit dem USB-interface (das ist ja nichts anderes als eine RS232, nur mit TTL-Pegel)
Ich poste dann Heute noch ein kürzeres Beispiel mit schönen Kommtentaren (hm, vieleicht das wo die Akkuspannung ausgelesen wird..) :-)
MfG
-schumi-
Ich habe mir gerade einen Max232 aus einem altem DVBT-Empfänge ausgelötet und werde jetzt eine Grundschaltung aufbauen.