Gast
#916025
Hallo! Ich habe folgendes Problem. Ich habe eine MSP430 Platine mit einer Externen Gerätschaft verbunden. Diese externe Gerätschaft schaufelt in periodischen Abständen ca. 2000 Byte bei 115200 Baud über die RS232 Schnittstelle raus. Diese Daten solle jetzt einfach empfangen werden und auf die 2e USART Schnittstelle meiner MSP430 Platine durchgereicht werden. so weit so gut ... vom Prinzip her funktioniert das ganze auch ... jedoch habe ich das Problem dass nicht alle Daten auch hinten ankommen, der MSP430 sozusagen einfach Daten verschluckt. Handshakeleitungen sind nicht vorhanden ... :( Ich habe schon in meiner ISR einen Counter vorgesehen , welcher bei jedem Empfangenen Zeichen auf einen bestimmten Wert gesetz wird ( z.B 2) dieser counter wird in einem Timer einfach runtergezählt ... wird für eine gewisse Zeit kein neues Zeichen empfangen(counter auf Null) , so findet eine Ausgabe des gesamten Empfangsbuffers statt. (Zusatzabfragekriterium ... neue Daten empfangen! ) Eigentlich sollte das so funktionieren ... sollte ;O) Das Problem dabei sind einfach die großen Datenmengen ... bei kleineren Datenmengen bis ca 200 Byte funzt es einwandtfrei ... die entsprechenden Buffer sind auch groß genug ausgelegt ... (RAM des MSP430 10 kByte). Habt ihr da vielleicht eine Idee wie ich solch großen Datenmenge handlen kann ... Im Anhang noch der Quellcode für die USART Routinen und die Abfrage evtl. emfangener Daten. mfG der Verwickler