/************************************************ Testa a porta serial UART0 com interrupcao LabProc 2009-2 Marcos Augusto Stemmer *************************************************/ #include #include "vic_cpsr.h" #include "uart.h" int main (void) { int c=0; T0TCR = 0; /* Desabilita T0 */ T0PR = SYSCLK/100 - 1; /* Incrementa o contador T0TC 100 vezes por segundo */ T0TCR = 2; /* Inicializa T0 */ T0TCR = 1; /* Habilita T0 */ U0init(BAUDRATE); U0puts("\r\nTeste da porta UART0\r\n"); #ifdef DEBUG FIO4DIR |= 0xff; /* LEDs como saidas */ FIO4SET = 0xff; #endif do { /* A seguir uma espera de 2 segundos para mostrar o efeito da interrupcao na porta serial */ T0TC = 0; while(T0TC < 200); /* Le e transmite todos os char's armazenados na fila */ while(U0tem()){ /* Ve se tem char na fila rx */ c=U0getchar(); /* Pega char da fila */ /* Se for Ctrl-B escreve uma mensagem */ if(c==2) U0puts("\r\nLinha de texto completa\r\n"); U0putchar(c); /* Escreve o caractere */ } } while(c!=1); /* Ctrl-A sai */ return 0; } /* Estas rotinas sao chamados pelo crt.S. Devem existir, mas ainda nao estao sendo usadas */ void UNDEF_Routine(){} void SWI_Routine(){} void FIQ_Routine(){}