collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[22 de Abril de 2024, 14:14]


Arame de Estendal por almamater
[18 de Abril de 2024, 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


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


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]

Autor Tópico: atmega88 USART  (Lida 23028 vezes)

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

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #15 em: 30 de Maio de 2011, 14:39 »
fiz tal como disseste, alterei o baud rate e no entanto continua sem dar.. o que me aparece no terminal é : þÿÿüÿÿÿÿüÿüÿÿÿÿðüÿþÿÿþÿüÿÿüÿüüüðÿÿÿÿüÿþÿÿÿÿÿÿÿþÿøÿÿðÿÿÿüÿÿðÿÿÿÿþÿÿÿüÿÿÿÿÿÿüÿÿþüÿÿþüÿÿÿÿÿüüðüÿÿÿüÿÿÿÿüüþÿÿÿþÿðÿÿÿüüÿÿÿÿÿÿÿÿÿþüþÿãÿÿÿðÿÿÿþÿÿüüÿÿðÿÿÿÿ

cumprimentos

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: atmega88 USART
« Responder #16 em: 30 de Maio de 2011, 14:55 »
o baudrate tem de ser igual nos dois lados

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #17 em: 30 de Maio de 2011, 14:56 »
e no terminal selecionei o mesmo

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: atmega88 USART
« Responder #18 em: 30 de Maio de 2011, 20:26 »
Continuas com o baudrate mal. Neste último teste pegaste no código original e só alteraste o baudrate para 4800 (e no terminal), certo?
Para clock tens que usar um cristal, não sei se é o que tás a fazer (um ressonador nem sempre funciona).

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #19 em: 30 de Maio de 2011, 21:29 »
boas...

"Esse código compila?...

Baixaste o baudrate para 4800, logo não precisavas de fazer mais nada. As outras alterações eram apenas para poderes manter os 9600 bps."

segundo o q tinhas dito apenas teria de baixar o baudrate, e sim foi o q fiz, meti o terminal e o baud a 4800, nao estou a usar cristar.. tou a usar 1000000Hz do atmega88
Código: [Seleccione]
#define F_CPU 1000000

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: atmega88 USART
« Responder #20 em: 30 de Maio de 2011, 22:13 »
A UART só funciona bem com cristal, não podes usar o clock interno do mega.

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #21 em: 30 de Maio de 2011, 22:20 »
ah, não sabia disso.. vou por-lhe um cristal de 16 Mhz. e alem disso n tenho q fazer mais nd ao codigo? n tenho que alterar a formula
Código: [Seleccione]
#define BAUD_PRESCALLER F_CPU/16/BAUDRATE-1

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: atmega88 USART
« Responder #22 em: 30 de Maio de 2011, 22:32 »
O clock interno do mega tem um erro muito grande e ainda varia muito com a temperatura, por isso não serve para usar com a UART.

(...) e alem disso n tenho q fazer mais nd ao codigo? n tenho que alterar a formula
Código: [Seleccione]
#define BAUD_PRESCALLER F_CPU/16/BAUDRATE-1

Só precisas de alterar o F_CPU. O BAUD_PRESCALER depende automaticamente do F_CPU.
A propósito, convém envolver o cálculo entre parentesis, assim:

#define BAUD_PRESCALLER  (F_CPU/16/BAUDRATE-1)

Habituem-se a fazer isto em todas as macros para evitar serem apanhados de surpresa por problemas "estranhos", como por exemplo nesta utilização:

a = BAUD_PRESCALLER * 2;

E os argumentos das macros também devem ser envolvidos em parentesis no corpo da macro.
« Última modificação: 30 de Maio de 2011, 22:34 por Njay »

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #23 em: 30 de Maio de 2011, 23:50 »
ja fiz isso, mudei a frequencia no programa, meti um cristal de 16 Mhz e desta vez no terminal deu:

<0><0><0><0><0><0><0><0><0><0><0><0><0><0>

Offline xiserre

  • Mini Robot
  • *
  • Mensagens: 277
Re: atmega88 USART
« Responder #24 em: 31 de Maio de 2011, 00:03 »
tas a complicar muito.. se compilares o programa original o que faz? tens os fuses certos?

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: atmega88 USART
« Responder #25 em: 31 de Maio de 2011, 01:19 »
Já agora, tás a usar um conversor RS232<->UART-TTL, certo?

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #26 em: 31 de Maio de 2011, 08:50 »
compila sem erros, fuses? como assim?

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #27 em: 31 de Maio de 2011, 08:51 »
sim, tou a usar um max 232

Offline xiserre

  • Mini Robot
  • *
  • Mensagens: 277
Re: atmega88 USART
« Responder #28 em: 31 de Maio de 2011, 09:54 »
alem de configurares a velocidade do atmega no programa, precisas de por os fuses certos para usares o cristal de 16mhz

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #29 em: 31 de Maio de 2011, 11:56 »
o que sao os fuses?