C Programa ajuda Plz ....

R

ryusgnal

Guest
Eu escrevi este programa usando Mikroelektronika MikroC compilador para PIC16F877A.O problema é, manter a repetir o envio 'J' Caracteres de USART terminal, embora não haja looping comando.como fazer isso e parar de enviar apenas um 'J' personagem para USART terminal?Ajuda plzzz ....

Aqui está o código:

void main ()
(
Usart_Init (9600);
Usart_Write ( 'J');
)

 
Oi!
O problema está em ur código.Deve ser assim

void main ()
(
Usart_Init (9600);
Usart_Write ( 'J');
while (1)
(
/ / seu código vai aqui
);
)

Agora, esse código irá escrever os caracteres' J 'apenas uma vez e, em seguida, digite o loop infinito enquanto.Se você não usar esse loop simultaneamente, em seguida, o processador irá manter a initilizing a USART e enviar o caráter 'J'.
O ponto é que o microcontrolador deve ser sempre executando algum código, no código anterior ur o controlador foi não fazer nada depois do UsartWrtie ( 'J'); função.

Atenciosamente.

 
Atualmente o PIC deve goto sono principal se tiver encerrado, mas parece que cada
vez reset?

 
Waseem escreveu:

Oi!

O problema está em ur código.
Deve ser assimvoid main ()

(

Usart_Init (9600);

Usart_Write ( 'J');

while (1)

(

/ / seu código vai aqui

);

)Agora, esse código irá escrever os caracteres' J 'apenas uma vez e, em seguida, digite o loop infinito enquanto.
Se você não usar esse loop simultaneamente, em seguida, o processador irá manter a initilizing a USART e enviar o caráter 'J'.

O ponto é que o microcontrolador deve ser sempre executando algum código, no código anterior ur o controlador foi não fazer nada depois do UsartWrtie ( 'J'); função.Atenciosamente.
 
Oi!
Verifique se o seu cão relógio temporizador.Deve ser desativado.Se não for desativada, em seguida, ele irá repor o dispositivo de cada vez que timesout.Pode deficientes na configuração fusíveis.
Atenciosamente.

 
Waseem escreveu:

Oi!

Verifique se o seu cão relógio temporizador.
Deve ser desativado.
Se não for desativada, em seguida, ele irá repor o dispositivo de cada vez que timesout.
Pode deficientes na configuração fusíveis.

Atenciosamente.
 
se o cão de guarda é ativado e do tempo que havia estabelecido para o watchdog timer overflow, então o PIC é reposto.é por isso que a sua redefinição.

 
aupa escreveu:

se o cão de guarda é ativado e do tempo que havia estabelecido para o watchdog timer overflow, então o PIC é reposto.
é por isso que a sua redefinição.
 
Oi!
O watchdog timer é um simples protecção contra código lockup.If seu código fechaduras em um loop infinito undesireable do watchdog timer overflows e repõe o dispositivo.No PC uso você teria entrado em uma situação em que o PC "trava" e se recusa a fazer qualquer coisa.A única solução é a de pressionar o reset switch e assim reiniciar o processador.
O watchdog timer em um controlador que faz exatamente em um modo automático.
Na verdade o cão de guarda é um simples temporizador que corre de um oscilador RC interno e é independente do controlador principal
do oscilador.Tem um overflow tempo normal que é especificado na ficha de dados de controladores.Em alguns casos (por exemplo, PIC) overflow sua vez podem ser alteradas por meio de um prescaler.
Se o watchdog timer é ativado, então temos de limpar (dar o seu contador zero) se repetidamente ao longo do tempo para impedir que transborda e gerando assim uma reset.The PIC montagem linguagem tem uma instrução especial para ele CLRWD (claro watchdog).
Se no nosso programa normal fluxo donot nós claro que, em seguida, ele irá gerar um sinal que irá redefinir redefinir o controlador eo código será novamente executado desde o início (como foi happeining no seu caso)

Hope this helps u compreender.
Atenciosamente.

 
Waseem escreveu:

Oi!

O watchdog timer é um simples protecção contra código lockup.If seu código fechaduras em um loop infinito undesireable do watchdog timer overflows e repõe o dispositivo.
No PC uso você teria entrado em uma situação em que o PC "trava" e se recusa a fazer qualquer coisa.
A única solução é a de pressionar o reset switch e assim reiniciar o processador.

O watchdog timer em um controlador que faz exatamente em um modo automático.

Na verdade o cão de guarda é um simples temporizador que corre de um oscilador RC interno e é independente do controlador principal do oscilador.
Tem um overflow tempo normal que é especificado na ficha de dados de controladores.
Em alguns casos (por exemplo, PIC) overflow sua vez podem ser alteradas por meio de um prescaler.

Se o watchdog timer é ativado, então temos de limpar (dar o seu contador zero) se repetidamente ao longo do tempo para impedir que transborda e gerando assim uma reset.The PIC montagem linguagem tem uma instrução especial para ele CLRWD (claro watchdog).

Se no nosso programa normal fluxo donot nós claro que, em seguida, ele irá gerar um sinal que irá redefinir redefinir o controlador eo código será novamente executado desde o início (como foi happeining no seu caso)Hope this helps u compreender.

Atenciosamente.
 

Welcome to EDABoard.com

Sponsor

Back
Top