Gast
#1457359
Hallo, ich arbeite gerade Hobby-technisch an einem Projekt, bei dem ein Mikrocontroller an den PC gekoppelt ist (USART <=> USB/UART-Wandler <=> PC). Ich plane Bitraten im Bereich 1-3 MBit zu nutzen. Die "hohe" Datenrate wird eigentlich nur in Richtung PC benötigt, in Richtung Controller würde wesentlich weniger ausreichen - allerdings kann man einen USART nun mal nur mit einer Baudrate konfigurieren. Der verwendete Controller bietet DMA für Tx und Rx an. In Senderichtung (MC => PC) ist das in meinen Augen ganz einfach: Paket der Größe X aufsetzen und warten bis die DMA "fertig" meldet. In Empfangsrichtung (PC => MC) stehe ich vor dem Problem, dass ich definitiv nicht für jedes empfangene Byte einen Interrupt haben möchte, dann käme der Controller zu nichts anderem mehr. Wenn ich hier DMA nutzen möchte, müsste ich alle Pakete bzgl. der Größe vereinheitlichen (bspw. X mal 10 Byte). Die DMA würde ich dann auf 10 Byte konfigurieren. Gibts da einen eleganteren Weg, so dass ich nur die wirklich benötigten Daten zum Controller schicken muss und nicht noch Dummy-Bytes ... ? Besten Dank für erhellende Tipps :) Alex