collapse

* Posts Recentes

+ LASERs por dropes
[Ontem às 11:12]


Cerca eléctrica por SerraCabo
[14 de Junho de 2025, 23:26]


Alguém arranja motores? por almamater
[10 de Junho de 2025, 22:34]


Condensador 4.7uF 0603 por brunus
[09 de Junho de 2025, 15:52]


Lenovo IdeaPad 3 Não liga por jm_araujo
[07 de Maio de 2025, 19:10]


Identificar Diodo Zenner por filjoa
[01 de Maio de 2025, 23:07]


Meu novo robô por dropes
[18 de Março de 2025, 14:51]


JBL partybox On-The-Go por almamater
[21 de Fevereiro de 2025, 23:32]


Talking Reverse Engineering with an Absolute Legend! por SerraCabo
[13 de Fevereiro de 2025, 09:56]


Motoserra Stihl 120C por brunus
[11 de Fevereiro de 2025, 16:29]

Autor Tópico: Variáveis locais a escreverem sobre variáveis globais?  (Lida 14661 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.986
  • 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.277
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/