collapse

* Posts Recentes

DIY - Robot Arm por zordlyon
[Ontem às 13:29]


(Resolvido) Compro ULN2003 DIP por KammutierSpule
[01 de Dezembro de 2022, 11:58]


Curiosidade Ferro Soldar por dropes
[22 de Novembro de 2022, 12:17]


Fonte de alimentação +/-15V para tensões de entrada <80Vdc por jm_araujo
[14 de Novembro de 2022, 16:25]


ua796 jurássico por SerraCabo
[08 de Novembro de 2022, 23:55]


Resistência interna de transformador por SerraCabo
[08 de Novembro de 2022, 23:42]


Resistência paralela com bateria primária de Lítio. por jm_araujo
[06 de Novembro de 2022, 18:49]


Precisão de condensadores de origem na China por dropes
[05 de Novembro de 2022, 20:44]


Imagine this kind of development tools for your favourite Programming Language. por blabla
[04 de Novembro de 2022, 22:16]


Ajuda Identificar Resistência por SerraCabo
[02 de Novembro de 2022, 22:27]

Autor Tópico: Variáveis locais a escreverem sobre variáveis globais?  (Lida 11158 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.597
    • Tróniquices
Re: Variáveis locais a escreverem sobre variáveis globais?
« Responder #15 em: 09 de Abril de 2015, 14:56 »
Posta o source ... promete-mos não copiar nada ;)
Fala por ti, eu não prometo nada, lol.

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: Variáveis locais a escreverem sobre variáveis globais?
« Responder #16 em: 09 de Abril de 2015, 17:17 »


Posta o source ... promete-mos não copiar nada ;)

Abraços,
PA


Não pode ser infelizmente :p


Tive a ver o .map e parece-me que aquilo saiu foi fora da stack mesmo.
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: Variáveis locais a escreverem sobre variáveis globais?
« Responder #17 em: 10 de Abril de 2015, 03:24 »
Só assim por acaso, acham que um interrupt de 2,8uS é demasiado grande? :p

Sei que é relativo à frequência com que é chamado o quão aceitavel é o tempo mas queria ter uma ideia. Neste caso duvido que aconteça mais de 2 vezes a cada 5ms.
Tive a ver o disassemble e parece ser o máximo de tempo que decorre.

Nos testes tenho 8 iguais a acontecer e dá na boa mas tou preocupado num código mais real. Mas não me apetece ir alterar 8 handlers se não for preciso. 8 é o extremo, já viram o que é
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.597
    • Tróniquices
Re: Variáveis locais a escreverem sobre variáveis globais?
« Responder #18 em: 10 de Abril de 2015, 12:14 »
Sei que é relativo à frequência com que é chamado o quão aceitavel é o tempo (...)
Não, não é. Nada a ver. Depende do contexto, da aplicação. Lembro-me de uma aplicação em que tinha interrupções a ocupar mais de 95% do CPU.

Offline thx1011

  • Mini Robot
  • *
  • Mensagens: 80
Re: Variáveis locais a escreverem sobre variáveis globais?
« Responder #19 em: 12 de Abril de 2015, 10:05 »
Deixa-me cá meter colherada  8)

Se estás a passar um array e o stack rebenta, não o estás a passar como parâmetro de uma função?
Nesse caso cria uma cópia em stack, e daí o problema.

Também depende da linguagem que estás a usar, mas não podes passar só um pointer/apontador?

Online jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.879
  • NERD!
Re: Variáveis locais a escreverem sobre variáveis globais?
« Responder #20 em: 12 de Abril de 2015, 11:02 »
O C passa arrays para funções sempre como apontadores, nunca faz cópia.  ;)


Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.113
Re: Variáveis locais a escreverem sobre variáveis globais?
« Responder #21 em: 12 de Abril de 2015, 12:39 »
Ao se escrever um código, principalmente em assemby, deve-se referir o inicio de onde a memória está livre, a partir desse ponto podem-se criar variáveis, constantes, etc... num local apropriado desta memória livre, em C essa preocupação passa um pouco ao lado, daí se reservar espaços através de stacks.

Fazer debug ajuda um pouco, ou até mesmo uma simulação no programa antes de se passar para o micro, assim é possível ver se alguma variável está a passar do limite.

Em último caso pode-se criar uma interface série com o PC para receber as informações de cada instrução e monitorizar a sua execução. Mais fácil é mudar o estado de um bit de uma porta caso se suspeite de alguma operação.

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: Variáveis locais a escreverem sobre variáveis globais?
« Responder #22 em: 12 de Abril de 2015, 14:27 »
Isso do debug é uma das razões porque gosto bué das launchpads em vez do arduino. Há bué boards que vêm com um debuger pelas vantagens que tra?. Acho mesmo que agora o arduino é dos poucos que foge à regra. Mas penso que o programador/debugger dos atmega é dos mais baratos.

Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/