Passos para ler dados de porta microcontrolador ARM
-
06-07-2019 - |
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 ??
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!