PIC 18F4620 startmoment asynchrone transmitter EUSART bepalen

Bij seriële communicatie met interne byte-transmitter PIC µC (EUSART) wil ik als ik register TXREG laad met nieuwe data, dat dan ook kort daarna, enkele µs, de startbit verzonden wordt.

Nu is dat volgens mij afhankelijk waar de baudgenerator zich bevind. Als de frequentie als voorbeel is ingesteld op 10kHz, dan kan de startbit starten na 1µs maar evengoed na 100µs.

Is er een mogelijkheid om de startbit direct te laten starten na het schrijven naar register TXREG ?

Ter info: De receiver gebruik ik ook om dezelfde data in te lezen voor collision detect.

Geert

De UART is asynchroon, dus wat vertraging maakt niks uit. Maar je kunt wel iets doen:

Als je collision detect doet, dan doe je al lelijke dingen met de UART waar 'ie nooit voor gemaakt is... :)

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Bedankt voor de snelle reactie.

Ik betwijfel of dit werkt. De Baud rate generator wordt hier niet door beïnvloed. Deze blijft gewoon onafhankelijk een Clock signaal opwekken.

Maar ik zal het eens testen.

Collision detect is geen probleem. De uitgangen van diverse PIC-transmitters sturen elk een transistor aan (open collector) waarvan de collectors gekoppeld zijn. 1 Netwerk met meerdere gebruikers: LocoNet (modelspoor)

(meer info over dit project dan weet je waar het over gaat: https://github.com/GeertGiebens/LocoNet_IO )

Geert

Als je exacte controle wilt over de seriele communicatie kun je het best een software UART maken (bitbangen).
De UART is nooit voor multimaster toepassingen gemaakt; daar zijn vele betere oplossingen voor...
Ook mogelijk:

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com