More random serial bit frobbing
[fw/altos] / target / serial / serial.c
index 5acd284f58e3b97c1c1c53ade6090cf89ac45240..589452c0dbb730ba90eed438f52bf5ad60c76b5f 100644 (file)
@@ -105,7 +105,7 @@ sfr at 0xfb U1UCR;
 # define UxUCR_SPB_1_STOP_BIT          (0 << 2)
 # define UxUCR_SPB_2_STOP_BITS         (1 << 2)
 # define UxUCR_STOP_LOW                        (0 << 1)
 # define UxUCR_SPB_1_STOP_BIT          (0 << 2)
 # define UxUCR_SPB_2_STOP_BITS         (1 << 2)
 # define UxUCR_STOP_LOW                        (0 << 1)
-# define UXUCR_STOP_HIGH               (1 << 1)
+# define UxUCR_STOP_HIGH               (1 << 1)
 # define UxUCR_START_LOW               (0 << 0)
 # define UxUCR_START_HIGH              (1 << 0)
 
 # define UxUCR_START_LOW               (0 << 0)
 # define UxUCR_START_HIGH              (1 << 0)
 
@@ -188,32 +188,23 @@ usart_init(void)
        /*
         * Reasonable serial parameters
         */
        /*
         * Reasonable serial parameters
         */
-       U1UCR = (UxUCR_FLOW_DISABLE |
-                UxUCR_D9_EVEN_PARITY |
+       U1UCR = (UxUCR_FLUSH |
+                UxUCR_FLOW_DISABLE |
+                UxUCR_D9_ODD_PARITY |
                 UxUCR_BIT9_8_BITS |
                 UxUCR_PARITY_DISABLE |
                 UxUCR_BIT9_8_BITS |
                 UxUCR_PARITY_DISABLE |
-                UxUCR_SPB_1_STOP_BIT |
-                UxUCR_STOP_LOW |
+                UxUCR_SPB_2_STOP_BITS |
+                UxUCR_STOP_HIGH |
                 UxUCR_START_LOW);
 }
 
                 UxUCR_START_LOW);
 }
 
-
-uint8_t
-usart_in_out(uint8_t byte)
-{
-       U1DBUF = byte;
-       while ((U1CSR & UxCSR_TX_BYTE) == 0)
-               ;
-       U1CSR &= ~UxCSR_TX_BYTE;
-       return U1DBUF;
-}
 void
 usart_out_byte(uint8_t byte)
 {
 void
 usart_out_byte(uint8_t byte)
 {
-       U1CSR &= ~UxCSR_TX_BYTE;
        U1DBUF = byte;
        while ((U1CSR & UxCSR_TX_BYTE) == 0)
                ;
        U1DBUF = byte;
        while ((U1CSR & UxCSR_TX_BYTE) == 0)
                ;
+       U1CSR &= ~UxCSR_TX_BYTE;
 }
 
 uint8_t
 }
 
 uint8_t
@@ -245,9 +236,8 @@ main ()
        spi_init();
 
        for (;;) {
        spi_init();
 
        for (;;) {
-               for (i = 0; i < sizeof (string) - 1; i++) {
-                       usart_out_byte(string[i]);
-               }
+               usart_out_byte('A');
+               delay(5);
                P1 ^= 2;
        }
 }
                P1 ^= 2;
        }
 }