Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
elektronik_labor:tipps_fuers_programmieren [2020/03/24 23:13]
tfischer ↷ Links adapted because of a move operation
elektronik_labor:tipps_fuers_programmieren [2020/03/30 01:45] (aktuell)
92.220.10.100 ↷ Links angepasst weil Seiten im Wiki verschoben wurden
Zeile 30: Zeile 30:
 MCUCR |=(1<<​JTD);​ MCUCR |=(1<<​JTD);​
 </​code> ​ Wichtig: Es das Control Register muss __zweimal__ geschrieben werden. </​code> ​ Wichtig: Es das Control Register muss __zweimal__ geschrieben werden.
-  * Für eine zeitkritische Ausgabe von aufeinanderfolgenden Bits (z.B. für die Ansteuerung von [[:​hardware_fuer_schaltungserstellung|intelligenten LEDs]]) müssen unbedingt Interrupts genutzt werden. Es lohnt sich zusätzlich auf __USART__ zurückzugreifen. Bei USART werden die zu versendenden Daten zunächst ins UDRn Register gegeben und dann in das Shiftregister übertragen. ​+  * Für eine zeitkritische Ausgabe von aufeinanderfolgenden Bits (z.B. für die Ansteuerung von [[elektronik_labor:​hardware_fuer_schaltungserstellung|intelligenten LEDs]]) müssen unbedingt Interrupts genutzt werden. Es lohnt sich zusätzlich auf __USART__ zurückzugreifen. Bei USART werden die zu versendenden Daten zunächst ins UDRn Register gegeben und dann in das Shiftregister übertragen. ​
   * Falls Sie einen externen Oszillator oder Quarz benutzen, werden zwei Ports dafür verwendet (Ports XTAL = "​Crystal"​). Wenn Sie diese Ports per DDR versehentlich zu einem Ausgang definieren, hat der Chip keinen Takt mehr. Das heißt diese Portzuweisung ist das letzte was der Chip macht... Es ist danach nur noch per Debuggerschnittstelle möglich diesen wieder zu beleben.   * Falls Sie einen externen Oszillator oder Quarz benutzen, werden zwei Ports dafür verwendet (Ports XTAL = "​Crystal"​). Wenn Sie diese Ports per DDR versehentlich zu einem Ausgang definieren, hat der Chip keinen Takt mehr. Das heißt diese Portzuweisung ist das letzte was der Chip macht... Es ist danach nur noch per Debuggerschnittstelle möglich diesen wieder zu beleben.