collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

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