Doxygen fixes.
[bertos.git] / drv / ser_avr.c
index 452e16b330f9d8ec3ce5b669c4313d71103a3baf..8a31159ecef085373c1f2f8c6840b8564bb67ef9 100755 (executable)
 
 /*#*
  *#* $Log$
+ *#* Revision 1.18  2004/12/08 08:03:48  bernie
+ *#* Doxygen fixes.
+ *#*
+ *#* Revision 1.17  2004/10/19 07:52:35  bernie
+ *#* Reset parity bits before overwriting them (Fixed by batt in project_ks).
+ *#*
  *#* Revision 1.16  2004/10/03 18:45:48  bernie
  *#* Convert to new-style config macros; Allow compiling with a C++ compiler (mostly).
  *#*
         *
         * The default is no action.
         */
+       #ifdef __doxygen__
+       #define SER_UART0_BUS_TXOFF
+       #endif
 #endif
 
 #ifndef SER_UART1_BUS_TXINIT
         *
         * \see SER_UART0_BUS_TXOFF
         */
+       #ifdef __doxygen__
+       #define SER_UART1_BUS_TXOFF
+       #endif
 #endif
 /*\}*/
 
@@ -372,7 +384,7 @@ static void uart0_setbaudrate(UNUSED(struct SerialHardware *, _hw), unsigned lon
 static void uart0_setparity(UNUSED(struct SerialHardware *, _hw), int parity)
 {
 #if !CPU_AVR_ATMEGA103
-       UCSR0C |= (parity) << UPM0;
+       UCSR0C = (UCSR0C & ~(BV(UPM1) | BV(UPM0))) | ((parity) << UPM0);
 #endif
 }
 
@@ -420,7 +432,7 @@ static void uart1_setbaudrate(UNUSED(struct SerialHardware *, _hw), unsigned lon
 
 static void uart1_setparity(UNUSED(struct SerialHardware *, _hw), int parity)
 {
-       UCSR1C |= (parity) << UPM0;
+       UCSR1C = (UCSR1C & ~(BV(UPM1) | BV(UPM0))) | ((parity) << UPM0);
 }
 
 #endif // AVR_HAS_UART1