collapse

* Posts Recentes

Sensor RCWL-0516 por almamater
[Hoje às 10:14]


DVD Laser Scanner Microscope por dropes
[28 de Junho de 2020, 14:25]


Noticia - esquema na alfandega por KammutierSpule
[24 de Junho de 2020, 14:37]


Ajuda - Amp Fender Princeton por jm_araujo
[22 de Junho de 2020, 10:55]


Arca Frigorífica por dropes
[21 de Junho de 2020, 21:10]


Placa poliuretano onde comprar ? por Hydrops
[14 de Junho de 2020, 12:15]


Detector de AC - Projecto com PCB por SerraCabo
[10 de Junho de 2020, 22:30]


brushless 3 phases motors por senso
[10 de Junho de 2020, 22:10]


Som de Alarme por vasco
[06 de Junho de 2020, 22:43]


Identidicação de componentes SMD por Njay
[05 de Junho de 2020, 03:20]

Autor Tópico: AVR - UART Receive  (Lida 4368 vezes)

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

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.688
  • Helpdesk do sitio
Re: AVR - UART Receive
« Responder #15 em: 15 de Setembro de 2011, 19:28 »
Malloc em micro-controladores é perigoso, porque qualquer falha nos free e rebenta a stack bem depressa.

É claro que o micro não crasha se ficar num ciclo infinito, porque todos os micros têm de ficar em ciclo infinito, se não dão a volta ao program counter e recomeçam o programa do endereço 0, o que para o utilizador iria parecer um reset.

Isso de ele parecer que crasha é porque a tua função de recepção é bloqueante e se não tiver nada para ler fica ali á espera até receber alguma coisa.
Avr fanboy

Offline Tyran

  • Mini Robot
  • *
  • Mensagens: 293
Re: AVR - UART Receive
« Responder #16 em: 15 de Setembro de 2011, 20:56 »
Depende do microcontrolador e da memória ram e do espaço para a heap.

Mas nestes não costuma ser boa prática, já para não falar de bugs que possam existir nas libs...

Tenta saber sempre qual o tamanho máximo que podes vir a precisar e trabalhas com base nisso. Não quer dizer que não possas fazer da outra maneira, mas tens de ter cuidado extra.

Offline zordlyon

  • Mini Robot
  • *
  • Mensagens: 1.745
Re: AVR - UART Receive
« Responder #17 em: 15 de Setembro de 2011, 21:19 »
Malloc em micro-controladores é perigoso, porque qualquer falha nos free e rebenta a stack bem depressa.

É claro que o micro não crasha se ficar num ciclo infinito, porque todos os micros têm de ficar em ciclo infinito, se não dão a volta ao program counter e recomeçam o programa do endereço 0, o que para o utilizador iria parecer um reset.

Isso de ele parecer que crasha é porque a tua função de recepção é bloqueante e se não tiver nada para ler fica ali á espera até receber alguma coisa.

Hum disso desconhecia...é a desvantagem de andar a estudar informática e não electrotecnica, tudo o que passe da electronica basica uma pessoa fica a nora...  :-\

Pensei que so tinhamos que ter cuidado com a memória gasta, do resto era codigo para cima..

Cumprimentos,
André Carvalho.
Cumprimentos,
André Carvalho.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.688
  • Helpdesk do sitio
Re: AVR - UART Receive
« Responder #18 em: 15 de Setembro de 2011, 21:21 »
Mas tambem, ele bem que até pode usar um array com 1K para receber dados, tem 4K de ram para usar, chega e sobra bem.
O melhor nesse caso é usar uart com interrupções a ler para um buffer circular.
Avr fanboy

Offline SJD22

  • Mini Robot
  • *
  • Mensagens: 660
Re: AVR - UART Receive
« Responder #19 em: 21 de Setembro de 2011, 00:33 »
Feito! Uf...!  8)

Obrigado pelas dicas pessoal.