collapse

* Posts Recentes

Motoserra Stihl 120C por almamater
[09 de Outubro de 2024, 17:01]


Meu novo robô por josecarlos
[06 de Outubro de 2024, 13:33]


Sirene NOVA maluca por dropes
[01 de Outubro de 2024, 18:26]


Shelly em jeito de watchdog por TigPT
[30 de Setembro de 2024, 21:21]


Transmissão de energia sem fios por dropes
[21 de Setembro de 2024, 16:50]


Spot Welder - O que acham? por jm_araujo
[20 de Setembro de 2024, 09:34]


Fita Isoladora - Tipos ou Qualidades diferentes? por dropes
[21 de Agosto de 2024, 15:53]


Cabo/Tubo? para passar ligação sensores - horta por SerraCabo
[21 de Agosto de 2024, 12:14]


Impressora - Valerá a pena? por dropes
[16 de Agosto de 2024, 17:09]


Fonte Monitor Samsung por jm_araujo
[14 de Agosto de 2024, 14:49]

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

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

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • 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.224
    • 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.224
    • 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.598
    • 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?

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.975
  • 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.246
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.224
    • 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/