collapse

* Posts Recentes

+ LASERs por dropes
[Ontem às 18:54]


B-52 Bomber Astro Tracker - Part 2 Power up and gyro-stabilization por jm_araujo
[08 de Janeiro de 2025, 15:23]


Meu novo robô por josecarlos
[06 de Janeiro de 2025, 20:24]


Alguém arranja motores? por SerraCabo
[20 de Dezembro de 2024, 17:12]


Sistema a LASER que será também capaz de matar moscas por jm_araujo
[11 de Dezembro de 2024, 12:35]


Nevadent - Não carrega por almamater
[22 de Novembro de 2024, 21:36]


Classmate Leap T304 não liga por almamater
[19 de Novembro de 2024, 07:13]


Dúvida com fonte de alimentação comutada por filjoa
[28 de Outubro de 2024, 21:57]


Motoserra Stihl 120C por dropes
[26 de Outubro de 2024, 19:01]


Shelly em jeito de watchdog por SerraCabo
[24 de Outubro de 2024, 19:24]

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