USART interrompe ajuda ...

P

piscaroy

Guest
oi, hmmm, no meu projeto precisa obter dados da porta COM serial e armazenar na EEPROM .. e estou pensando o que aconteceria se 1 dados está em andamento de armazenar, mas outra é enviar os dados através da porta serial os dados serão receber?e eu faço uma pista de usar o PC para enviar até o pic .. enquanto runing 1 dados eu clico enviar 2 dados e minha placa alvo enforcado ... im USART interrompe perguntando se vai ajudar ou voto não (im, mas muito certo sobre essas 2) Funções ... ou any1 possui códigos de amostra de interrupções USART em linguagem C para PIC18F452 (compilador C18, de preferência, mas se não ASM ou C também pode outros) apenas para deixar-me ter uma referência ...?pls help thankz

best regards ..

 
Oi,

O melhor lugar para começar algum exemplo de gestão e gestão de série EEPROM é o site da Microchip.Eles têm uma plataforma completa de aplicações notas sobre este assunto:

h ** p: / / www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2048

* = T

 
Tenho obter a mesma pergunta há alguns meses.Devo receber os dados do módulo GPS no USART0 a cada segundo.E é a taxa de transmissão é 4800bps.But eu terminar de receber os dados 1.Eu tenho que enviá-lo para outra porta USART.Quando eu enviá-lo, os dados 2st enviar o formulário module.So GPS eu vou perder a data.But 2 Espero que possa solução da questão.Não perca nenhum dado.Então eu
utilizar dois MPU.Elas são nomeadas MPU1 e MPU2.When o MPU1 receber dados do módulo GPS via USART em 4800bps.O uso MPU2 8-linhas de ônibus de dados e barramento de controle 3-linhas de obter os dados de forma fastly.So MPU1 o MPU1 apenas receber dados, e os MPU2 apenas enviar dados.^ ^

 
Talvez você está inundando o buffer Rx, devido aos acessos EEPROM são mais lentas do que a taxa UART, assim que você deve codificar uma FIFO buffer para armazenamento temporário dos dados recebidos.
Atenciosamente
Última edição por Regnum em 27 Set 2004 7:30, editado 1 vez no total

 
<img src="http://www.edaboard.com/images/smiles/icon_razz.gif" alt="Razz" border="0" />É, é fácil!
Você lê os dados de USART e guardá-lo na memória RAM (buffer aumento escrita índice e compará-lo com o comprimento de buffer, se o excedente deve redefinir escrita índice).Após Escape from Rotina de interrupção de serviço (ISR), você escreve em dados EEPROM que é lida de memória RAM, e aumento do índice de leitura, compará-lo com o tempo de buffer e redefini-la, se completa.
Dois processo é quase o mesmo tempo.
Em ISR, Escreve memória RAM é só escrever índice igual ao índice de leitura.Se vice-versa, buffer está cheio e dependem sua macia.
No programa principal, se o índice de escrever não é o mesmo índice de leitura -> tem (a) dados novos que é preciso escrever EEPROM.Depois de terminar de escrever, lembre-se aumentar o índice de leitura.

 
conkhicon escreveu:...
Depois de terminar de escrever, lembre-se aumentar o índice de leitura.
 
Especificação PIC18F452 gravar dados em EEPROM utilizada
4ms para escrever ciclo.
Se você usar C langauge Acho que você deveria
utilização escrever o tempo de ciclo = 5ms.
Assim você pode gravar dados de fluxo de 200 bytes / segundo
# Design a apertar a mão boa para programação.

 
Regnum escreveu:conkhicon escreveu:...
Depois de terminar de escrever, lembre-se aumentar o índice de leitura.
 

Welcome to EDABoard.com

Sponsor

Back
Top