Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:avr:usart [2014/01/30 12:29] rellermaaet:avr:usart [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 10: Line 10:
  
 Muide, saatepuhver ja vastuvõtupuhver on füüsiliselt küll erinevad registrid, kuid jagavad sama mäluaadressi ja neil on ühine nimi. Ühine andmeregister toimib nii, et sellesse kirjutades jõuab sõna saatepuhvrisse ja sellest lugedes tuleb see vastuvõtupuhvrist. Veel ühe täpsustusena tuleks arvestada, et 9-bitiste andmesõnade puhul edastatakse ja loetakse üheksandat bitti hoopis ühe seaderegistri kaudu. Muide, saatepuhver ja vastuvõtupuhver on füüsiliselt küll erinevad registrid, kuid jagavad sama mäluaadressi ja neil on ühine nimi. Ühine andmeregister toimib nii, et sellesse kirjutades jõuab sõna saatepuhvrisse ja sellest lugedes tuleb see vastuvõtupuhvrist. Veel ühe täpsustusena tuleks arvestada, et 9-bitiste andmesõnade puhul edastatakse ja loetakse üheksandat bitti hoopis ühe seaderegistri kaudu.
- 
-~~PB~~ 
  
 <box 100% round #EEEEEE|Näide> <box 100% round #EEEEEE|Näide>
Line 18: Line 16:
  
 <code c> <code c>
-// Boodi kiiruseks 9600 bps seadmine. Valem: +// Boodi kiiruseks 9600 bps seadmine.  
-// Jagamistegur = taktsagedus / 16 / boodi kiirus - 1+// Valem: jagamistegur = taktsagedus / 16 / boodi kiirus - 1
 // UBRR = 8000000 / 16 / 9600 - 1 = ~51 // UBRR = 8000000 / 16 / 9600 - 1 = ~51
 UBRR0H = 0; UBRR0H = 0;
 UBRR0L = 51; UBRR0L = 51;
  
-// Saatja lubamine +UCSR0B = (1 << TXEN0); // Saatja lubamine
-UCSR0B = (1 << TXEN0);+
  
 // Asünkroonse režiimi seadistamine, andmesõna pikkuseks 8 bitti // Asünkroonse režiimi seadistamine, andmesõna pikkuseks 8 bitti
Line 41: Line 38:
 </code> </code>
  
-Seadistada 32 MHz taktsagedusel töötav ATmega128A1U USARTD0 liides boodikiirusel 9600 bps asünkroonselt edastama 8-bitiseid sõnu 1 stop-bitiga ja ilma paarsuse bitita. Saata märk "X".+Seadistada 32 MHz taktsagedusel töötav ATxmega128A1U USARTD0 liides boodikiirusel 9600 bps asünkroonselt edastama 8-bitiseid sõnu 1 stop-bitiga ja ilma paarsuse bitita. Saata märk "X".
  
 <code c> <code c>
-// Boodi kiiruseks 9600 bps seadmine.+// Boodi kiiruseks 9600 bps seadmine
 // Vaja on valida skaala konstant BSCALE -7..7 // Vaja on valida skaala konstant BSCALE -7..7
-// Vaja on leida perioodi seade BSEL. Valem: +// Vaja on leida perioodi seade BSEL  
-// BSEL = (F_CPU / (2^BSCALE * 16 * baudrate))-1+// Valem: BSEL = (F_CPU / (2^BSCALE * 16 * baudrate))-1
 USARTD0.BAUDCTRLA = 12; USARTD0.BAUDCTRLA = 12;
 USARTD0.BAUDCTRLB = (4<<USART_BSCALE_gp); USARTD0.BAUDCTRLB = (4<<USART_BSCALE_gp);
  
-// Saatja lubamine +USARTD0.CTRLB |= (USART_TXEN_bm); // Saatja lubamine
-USARTD0.CTRLB |= (USART_TXEN_bm);+
  
 // Asünkroonse režiimi seadistamine, andmesõna pikkuseks 8 bitti // Asünkroonse režiimi seadistamine, andmesõna pikkuseks 8 bitti
et/avr/usart.1391084965.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0