Dúvidas com o módulo UART

Software e Hardware para uC PSoC

Moderadores: andre_luis, 51

Dúvidas com o módulo UART

Mensagempor Ricardo_Franco » 12 Jul 2007 09:16

Ola Senhores.
Tenho duas dúvidas relativas à UART.

1-) A UART utiliza o parâmetro “Command Terminator” para determinar o termino do comando, mas como eu faria para realizar um ECO do comando para um terminal do Windows? Ou seja, para cada caractere enviado pelo usuário, o uC retornaria o caractere antes do “Command Terminator”.

2-) Com faço para utilizar a interrupção da serial, quando ela receber um comando completo ele então execute uma rotina?

Obrigado

PS: Estou programando em C, para o PSoC Designer com o CY8C29466.
Ricardo Franco
____________________________________________________________________________________________
web: www.engricardofranco.kit.net
Skype: engricardofranco
Fone Skype: (19) 3119-8162
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

interrupção do Rx do UART

Mensagempor thairone » 18 Jul 2007 09:08

e ai alguém já descobriu alguma coisa sobre como tratar essa interrupção em 'C' ?
thairone
Bit
 
Mensagens: 13
Registrado em: 03 Mai 2007 14:07

Mensagempor mrtabs » 23 Jul 2007 13:07

entao, quando precisei fazer isso, eu tratei a interrupcao em assembly. Nesse asm, eu vou tratando cada caracter, ate que qdo uma mensagem interira eh formada, eu dou um "call" numa rotina escrita em C, pra fazero que eu quiser...se for tratar a interrupcao em linguagem C, o prog fica muiiito lerdo...nao recomendo...

vc pode tb fazer assim (em assembly), cada caracter que receber, vc salva num buffer e verifica se ele eh o seu terminador (um '\n', por exemplo)...se for, vc da o call da rotina, senao continua...


falow
mrtabs
Nibble
 
Mensagens: 70
Registrado em: 24 Out 2006 09:27
Localização: Santos e/ou Sao Paulo

Mensagempor andre_luis » 24 Jul 2007 11:02

Ricardo,

Se bem entendi, voce gostaria de usar uma rotina para a recepção de strings, análogo à função de envio, printf, correto ?

Bom, primeiramente eu desaconselho usar essas bibliotecas standard do C, porque elas consomem muito tempo em loops fechados de espera.

Uma alternativa que eu já usei no Blackfin ( que tinha velocidade de sobra pra isso ), foi usar rotinas de comparação de strings - nao me recordo exatamente qual - para verificar o comando recebido.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor Ricardo_Franco » 29 Jul 2007 22:40

Ola Senhores.
Se bem entendi, voce gostaria de usar uma rotina para a recepção de strings, análogo à função de envio, printf, correto ?


Não é bem isso...
O módulo UART do PSoC trata as strings que chegam pela serial como um comando, logo elas contem parâmetros (sub-strings separadas pelo caractere 32 (space)) e uma condição de fim de comando "Command Terminator". esta geralmente o caractere 13 (CR).
Bom eu queria fazer um ECO de CADA caractere que chega e não apenas quando recebo o command terminator.
Ricardo Franco
____________________________________________________________________________________________
web: www.engricardofranco.kit.net
Skype: engricardofranco
Fone Skype: (19) 3119-8162
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor mrtabs » 30 Jul 2007 14:54

copia o valor recebido para o registrador de transmissao...
tem q fazer um loop para verificar se o flag de transmissao ja terminou de transmitir...
mrtabs
Nibble
 
Mensagens: 70
Registrado em: 24 Out 2006 09:27
Localização: Santos e/ou Sao Paulo


Voltar para Cypress

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x