problema de interrupcao + livraria no IAR

Software e Hardware para uC Texas

Moderadores: andre_luis, 51

problema de interrupcao + livraria no IAR

Mensagempor marciosysc » 23 Jul 2009 11:53

Ola amigos, estou com uma certo problema onde meu software nao esta funcionando corretamente, e acredito que seja um problema de modo de trabalho com a operacao de multiplicacao (*).

O que acontece e que tenho na minha rotina principal faco calculos onde por exemplo multiplico duas variaveis. O que percebi e que quando faco calculo na rotina de interrupcao do timer do MCU meu sftw para.

Imagino que o que esteja acontecendo e que quando esta sendo feita a multiplicacao na rotina principal e entra na interrupcao acaba subescrevendo alguma varial da livraria c.

Gostaria de saber se existe alguma forma de evitar isto, como por exemplo, dizendo ao compilador que tal operacao ou funcao que estou usando na interrupcao seja tratada como outra rotina e nao a mesma.

Estou usando o compilador IAR vs7.2 em C (para MCU CC2430 da TI com arquitetura 8051).

Obrigado.
Marcio Carvalho
marciosysc
Bit
 
Mensagens: 19
Registrado em: 19 Jan 2009 08:51

Mensagempor Francesco » 23 Jul 2009 13:37

Ola Marcio,

Estou trabalhando com esse mesmo chip, CC2430... gostaria de saber sobre suas experiências com ele.

Quanto ao seu problema, a não ser que seja uma variável compartilhada entre a sua rotina e a interrupção, não é para dar problema. O que você pode fazer é desabilitar as interrupções durante o processo de cálculo:

Código: Selecionar todos
EA=0;
//calculo...
EA=1;


Mas isso pode fazer com que você perca alguns dados. Veja o que você acha.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor marciosysc » 23 Jul 2009 18:43


Estou trabalhando com esse mesmo chip, CC2430... gostaria de saber sobre suas experi�ncias com ele.



Ola francesco. Trabalho em uma empresa de automacao industrial que tem como procedimento interno e contratual nao disponibilizar a terceiros o projeto do cliente e nem o nome do mesmo. O que posso adiantar eh que com este MCU nosso principal objetivo eh trabalhar com RF.

Porem fico a disposicao caso tenha alguma duvida mais especifica.

Agradeco sua postagem.
Marcio Carvalho
marciosysc
Bit
 
Mensagens: 19
Registrado em: 19 Jan 2009 08:51

Mensagempor Francesco » 23 Jul 2009 19:10

Olá Márcio,

Compreendo completamente o sigilo de seu projeto, pois é o que temos aqui também. No entanto, acredito que não haja problemas em discutirmos situações tão restritas quanto problemas de interrupção ou coisas equivalentes.

Fiquei curioso se conseguiu resolver seu problema com a interrupção.
Um abraço.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor marciosysc » 24 Jul 2009 08:37

Ola Francesco,

Na verdade resolvemos de outra forma.

O calculo que faziamos na interrupcao poderia ser feito fora dela.

Com isto o sftw funcionou.

Como ja trabalhei muito com assembly em MCUs, estava imaginando que na biblioteca C, no caso a parte de calculos, poderia estar dando algum problema. Como por exemplo:

- Quando estivesse sendo executada a rotina de calculo fora da interrupcao e fosse pedida uma interrupcao onde se usa a mesma rotina, quando retornase daria algum problema como nao resgatar os valores antes de atender a interrupcao. Problema facil de se perceber e identificar em assembly.

Grato.
Marcio Carvalho
marciosysc
Bit
 
Mensagens: 19
Registrado em: 19 Jan 2009 08:51

Mensagempor marciosysc » 24 Jul 2009 08:56

Ola Franceso,

Fizemos o teste que voce havia proposto.

EA=0;
//calculo...
EA=1;


E funcionou.

Mas como havia dito no nosso caso eh melhor tirar a rotina de calculo da interrupcao.

Obrigado!
Marcio Carvalho
marciosysc
Bit
 
Mensagens: 19
Registrado em: 19 Jan 2009 08:51

Mensagempor Francesco » 24 Jul 2009 17:44

Márcio,

Que bom que funcionou. Esse sistema da texas é bastante complexo, mas bem funcional. parabéns.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor tcpipchip » 25 Jul 2009 12:52

Qual o protocolo voce está usando neste Transciever ?
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor marciosysc » 02 Set 2009 10:31

Nao estou usando nenhum protocolo padrao.

Apenas um protocolo interno.
Marcio Carvalho
marciosysc
Bit
 
Mensagens: 19
Registrado em: 19 Jan 2009 08:51


Voltar para Texas

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x