Pergunta

Estou tendo problemas para ler dados de série de ARM LPC2378 microcontrolador. Será que eu tenho que usar UART ou qualquer porta GPIO podem ser usados ???? é ayone tendo código c por isso ??

Foi útil?

Solução

É tecnicamente possível utilizar uma porta GPIO, mas então o seu software é responsável pela cronometragem pouco, enquadramento, verificação de erros etc. É muitas vezes chamado '' -batendo pouco desde o seu código tem que fazer todos os bits, e por isso é intensivo da CPU. Para as taxas de dados mais baixas, você pode executá-lo a partir de uma interrupção do timer.

Usando um UART é muito mais fácil-a UART faz o trabalho duro de timing pouco, enquadramento, verificação de erros, etc.

De acordo com a da folha de dados LPC2378 , o microcontrolador tem 4 UARTs. Então, usando um UART é o caminho a percorrer. O pino é seus dados seriais vindo? Os dados em série tem de ser ligado a um pino que se liga a um dos 4 UART. Você terá que definir alguns registros sobre o microcontrolador para configurá-lo para uso UART:

  • habilite a UART, e suas configurações (lotes de configurações lá)
  • Definir o pino que é a entrada para o UART (talvez)
  • Algumas outras configurações de pinos

Na primeira, você pode tentar polling o UART-ler o seu "RX byte disponível" bandeira até que ele diz "há um byte disponível", em seguida, ler o byte do registo de bytes recebidos. Leia também o erro RX bandeiras registo para ver se há erros.

Depois que está trabalhando, você pode trabalhar para ter RX interrupções de trabalho, de modo a interrupção de recebimento é gerada para lidar com dados de entrada.

Este tipo de coisa requer algum tempo leitura no manual do usuário e folha de dados . Divirta-se!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top