Vous êtes sur la page 1sur 2

Modo sncrono mestre Em conexo USART sncrona, modo mestre, a conexo de dados half-duplex e a tra nsmisso e recepo no ocorrem

m ao mesmo tempo. O modo sncrono ativado setando o bit SYNC e ativando o bit SPEN, configurando os pinos RC6 como CK (clock) e RC7 como DT (data, dados). O modo mestre indica que o processador transmite o clock mestre, principal, em CK. 3.1.1 Transmisso em modo sncrono - mestre Para voc realizar a transmisso USART sncrona em modo mestre voc deve obedece r aos seguintes passos: a. Inicializa o registrador SPBRG com a taxa de transmisso apropriada. b. Ativa o modo de sincronizao mestre setando os bits SYNC, SPEN e CSRC. c. Se as interrupes so desejadas deve-se setar o bit TXIE. d. Se o modo de transmisso de 9 bits for desejado, deve-se setar o bit TX9. e. Ativa a transmisso setando o bit TXEN. f. Se o modo de 9 bits foi selecionado, o nono bit deve ser carregado no bit TX9 D. g. Inicia a transmisso carregando os dados para o registrador TXREG. h. Se interrupes esto sendo usadas, verifica se GIE e PEIE de INTCON esto setados. 3.1.2 Recepo em modo sncrono - mestre Para voc realizar a recepo USART sncrona em modo mestre voc deve obedecer aos seguintes passos: a. Inicializa o registrador SPBRG com a taxa de transmisso apropriada. b. Ativa a sincronizao setando os bits SYNC, SPEN e CSRC. c. Verificar se bits CREN e SREN esto zerados. d. Ativar RCIE se for desejado interrupes. e. Ativar RX9 se recepo de 9 bits for desejada. f. Para recepo simples deve-se setar o bit SREN. Para recepo contnua seta-se o bit CR EN. g. Se a interrupo estiver ativada o bit RCIF do flag de interrupo ser setado quando a recepo estiver completa. h. L o registrador RCSTA para obter o nono bit, se ele estiver ativado, e determi nar se ocorreu algum erro durante a recepo. i. L os 8 bits de dados recebidos contido no registrador RCREG. j. Se havia ocorrido algum erro, ir limpar o registrador CREN, eliminando-o. k. Se estiver utilizando interrupes verifica se os bits GIE e PEIE esto setados. 3.2 Modo sncrono escravo A diferena do modo escravo para o modo mestre que a mudana de clock fornec ida externamente atravs do pino RC6. Isto permite que o dispositivo receba ou tra nsmita dados durante o modo sleep. O modo escravo pode ser ativado zerando o bit CSRC. 3.2.1 Transmisso em modo sncrono - escravo A operao de sincronismo para os modos mestre ou escravo feita da mesma man eira, com exceo caso esteja no modo sleep. Se duas palavras forem escritas em TXRE G a instruo SLEEP executada ir ocorrer: a. A primeira palavra ser imediatamente transferida para o registrador TSR e ser transmitida. b. A segunda palavra permanecer no registrador TXREG. O flag do bit TCIF no ser setado. c. Quando a primeira palavra for movida para fora de TSR, o registradro TXREG ir transferir a segunda palavra para TSR e o flag de TXIF ser setado. d. Se o bit TCIE estiver setado, a interrupo ir acordar o chip, e se GIE estiver ativ ado, a rotina de interrupo ir ocorrer. 3.2.2 Recepo em modo sncrono - escravo A operao de recepo tanto para o modo mestre como escravo idntica, com exceo ndo o modo sleep estiver ativado. Se a recepo for ativada setando o bit CREN antes de entrar no modo sleep, uma palavra poder ser recebida durante o processo.

3.1

Aps receber toda a palavra, o registrador RSR ir transferir os dados para o registrador RCREG e se o bit RCIE estiver setado, uma interrupo ser gerada e o PI C16F876 ir acordar , caso o bit GIE estiver setado, o programa ser redirecionado para a rotina de interrupo. 3.3 MODO ASSNCRONO Neste modo, o formato de dados mais comum de 8 bits e a transmisso e rece po de dados comeam a partir do bit menos significativo. A recepo e transmisso de dados ocorrem de modos independentes, porm, utilizam o mesmo formato de dados e taxa d e transmisso. O modo assncrono detectado se o bit SYNC estiver com valor 0 e duran te o modo sleep o modo assncrono desativado. 3.3.1 Transmisso em modo assncrono O modo de transmisso de dados assncrono se entende pelo seguinte diagrama: A transmisso assncrona obedece aos seguintes passos: a. Inicializa o registrador SPBRG com a taxa de transmisso apropriada b. Ativa a porta serial assncrona limpando o bit SYNC e setando o bit SPEN. c. Se desejar ativar interrupes pelo modo USART, deve-se ativar o bit TXIE d. Se for desejado a transmisso de 9 bits, o bit TX9 dever ser setado. e. Inicializa a transmisso setando o bit TXEN, no qual tambm setar o bit TXIF. f. Se a transmisso de 9 bits for selecionada, o nono bit ser armazenado em TX9D. g. Armazena os dados no registrador TXREG h. Se estiver usando interrupes, verifica se os devidos bits de configuraes esto seta dos. 3.3.2 Recepo em modo assncrono A recepo de dados em modo assncrono obedece aos seguintes passos: a. Inicializa o registrador SPBRG com a taxa de transmisso apropriada. Se a trans misso de dados em alta velocidade for desejada, deve-se setar o bit BRGH. b. Ativa a porta serial assncrona limpando o bit SYNC e setando o bit SPEN. c. Se for desejado interrupes deve-se setar o bit RCIE. d. Para ativar recepo de 9 bits, se seta o bit RX9. e. Ativa a recepo setando o bit CREN. f. Flag RCIF ser setado quando a recepo estiver completa e a interrupo ser ativada, se RCIE estiver setado. g. L o registrador RCSTA para obter o nono bit, se for desejado, e para determina r se ocorreu algum erro durante a recepo. h. L os bits de dados recebidos lendo o registrador RCREG. i. Se ocorreu algum erro o bit CREN ser limpo. j. Se estiver usando interrupes, verifica se os devidos bits de configuraes esto seta dos.

Vous aimerez peut-être aussi