Warning 216 Interrupts disabled during call to prevent re-en

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Warning 216 Interrupts disabled during call to prevent re-en

Mensagempor charles » 14 Dez 2006 07:39

Interrupts disabled during call to prevent re-entrancy: (@delay_ms1)


Esta mensagem aparece quando compilo o programa,pq o a interrupção é desabilitada quando chamo um delay_ms no ccs? Tem como evitar??


Charles
charles
Bit
 
Mensagens: 20
Registrado em: 18 Out 2006 16:32

Mensagempor buiz » 30 Abr 2007 17:36

Estou com o mesmo problema, alguem ja achou a solução, isso acontece somente no CCS versao 4.
Avatar do usuário
buiz
Byte
 
Mensagens: 165
Registrado em: 20 Out 2006 14:59
Localização: Cachoeira do Sul - RS

Mensagempor kubiak » 30 Abr 2007 22:22

Charles,

Isso não acontece antes/até a versão do CCS 3.163, dela pra frente isso ocorre..

Porém somente quando se usa interrupção...

Para solucionar eu já usei essas Alternativas:
1) Usei a Versão CCS 3.163
2)Usei a Função delay_cycles(25); // At 20 mhz a 5us delay
3)Fazer sua função de Delay
kubiak
Bit
 
Mensagens: 37
Registrado em: 11 Out 2006 19:28
Localização: São Paulo - Brasil

Mensagempor zielpunkt » 01 Mai 2007 19:16

Não se recomenda chamar funções externas ou executar códigos muito complexos dentro de uma interrupção, isso como regra geral de programação. Segundo o FAQ da CCS, essa mensagem ocorre porque o compilador desliga a interrupção quando existe determinada função dentro da interrupção (por ex, 'delay_ms(100)' que também é chamada fora da interrupção.

Então, se vc chama essa função durante a execução normal do programa, a interrupção é automaticamente desligada para evitar o efeito de 'reentrancia' que pode fazer o programa se perder. Não devemos esquecer que o PIC é muito limitado em termos de stack e que o compilador não pode fazer milagres sobre isso. O que se pode fazer é, sempre que possível, sinalizar, dentro da interrupção, que ela ocorreu (setar um flag, por ex) e tratar o evento em outro ponto do programa.


É isso.
"Talento é mais barato que sal. O que separa a pessoa talentosa da bem-sucedida é muito trabalho duro." [ Stephen King ]
zielpunkt
Byte
 
Mensagens: 376
Registrado em: 12 Out 2006 11:36
Localização: Sao Paulo - SP

Mensagempor buiz » 02 Mai 2007 08:21

Obrigado pelas dicas, programava tranquilo no CCS 3.2 agora com o CCS 4 ta gerando estes probleminhas.

Valeu!
Avatar do usuário
buiz
Byte
 
Mensagens: 165
Registrado em: 20 Out 2006 14:59
Localização: Cachoeira do Sul - RS


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 1 visitante

x