123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #include "uart.h"
- #define USART USARTC0
- #define TIMEOUT 0
- #define BYTE_REC 1
- void init_uart0
- (
- void
- )
- {
-
- PORTC.DIRSET = PIN3_bm;
-
- PORTC.DIRCLR = PIN2_bm;
-
- USART_Format_Set(&USART, USART_CHSIZE_8BIT_gc, USART_PMODE_DISABLED_gc, false);
-
- #if SS_VER==SS_VER_2_1
- USART_Baudrate_Set(&USART, 1, 0);
- #else
- USART_Baudrate_Set(&USART, 11, 0);
- #endif
-
- USART_Rx_Enable(&USART);
- USART_Tx_Enable(&USART);
- }
- unsigned char input_ch_w_timeout_0
- (
- char * data,
- volatile unsigned int timeout
- )
- {
- unsigned int timeout_counter = 0;
-
-
- while (timeout_counter != timeout)
- {
- if (USART_IsRXComplete(&USART))
- {
- *data = USART_GetChar(&USART);
- return BYTE_REC;
- }
- timeout_counter++;
- }
-
- return TIMEOUT;
- }
-
- char input_ch_0
- (
- void
- )
- {
-
- while (!USART_IsRXComplete(&USART))
- {
- continue;
- }
- return USART_GetChar(&USART);;
- }
-
- void output_ch_0
- (
- char data
- )
- {
- while(!USART_IsTXDataRegisterEmpty(&USART));
- USART_PutChar(&USART, data);
- return;
- }
|