collapse

* Posts Recentes

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]


+ LASERs por dropes
[30 de Maio de 2025, 23:11]


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: atmega88 USART  (Lida 28155 vezes)

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

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #60 em: 01 de Junho de 2011, 17:54 »
e nao é a 4800?

Offline xiserre

  • Mini Robot
  • *
  • Mensagens: 277
Re: atmega88 USART
« Responder #61 em: 01 de Junho de 2011, 18:24 »
pelo codigo que tens no primeiro post e a 9600

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: atmega88 USART
« Responder #62 em: 01 de Junho de 2011, 18:30 »
Mas o que ele postou agora e 4800.

Mas experimenta mudar para 9600..
Avr fanboy

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: atmega88 USART
« Responder #63 em: 02 de Junho de 2011, 04:15 »
Experimenta esta USART_init em vez da que tens agora:

Código: [Seleccione]
void USART_init(void)
{
    /* F_CPU is larger than a 16 bit int so be carefull here. */
    uint16_t  ubrr_value = (F_CPU/(16L*BAUDRATE)) - 1;

    UBRR0H = (uint8_t)(ubrr_value >> 8);
    UBRR0L = (uint8_t) ubrr_value;

    /* Set frame format: 8 data bits, no parity, 1 stop bit. */
    UCSR0C = (3 << UCSZ00);

    /* Enable receiver and transmitter */
    UCSR0B = (1 << RXEN0) | (1 << TXEN0);

    /* Activate internal pull up on PD0, used for serial data input (active low signal). */
    PORTD |= _BV(PD0);
}

Também podes fazer um teste simples para ver se tá tudo a funcionar bem entre o PC e o mega.

  1) desligas do mega o fio que vai dar ao pino3 (é o TX do mega)
  2) verifica que não há eco do que teclas no terminal série no PC (carregas numa letra e ela não aparece no terminal)
  3) pega nesse fio que desligaste do pino 3 do mega e liga-o ao pino 2 (ficas com os 2 fios ligados ao pino 2)
  4) verifica que agora já há eco no terminal, aquilo que escreves aparece no terminal

Se o passo 2) falhar, deves ter o "auto echo" ligado no terminal - desliga-o e repete.
Se o passo 4) falhar então deves ter um problema algures entre o conversor USB-série e o MAX232 (inclusivé).

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #64 em: 02 de Junho de 2011, 11:04 »
boas, n tive echo em nenhum dos casos

Offline xiserre

  • Mini Robot
  • *
  • Mensagens: 277
Re: atmega88 USART
« Responder #65 em: 02 de Junho de 2011, 11:18 »
tens condensadores no cristal?

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #66 em: 02 de Junho de 2011, 11:19 »
sim tenho claro ambos ligados a massa

Offline xiserre

  • Mini Robot
  • *
  • Mensagens: 277
Re: atmega88 USART
« Responder #67 em: 02 de Junho de 2011, 12:30 »
nao tens outro atmega para testar?

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: atmega88 USART
« Responder #68 em: 02 de Junho de 2011, 14:44 »
Se não tens eco em nenhum dos casos então o teu problema não está no mega, está no conversor série e/ou MAX232.
Desliga do MAX a ficha do conversor, e une os pinos 2 e 3 da ficha (cuidado para não fazer curto circuito com outros pinos); isto liga o TX ao RX, e aqui tens que ter eco no terminal. Se não tiveres eco é o teu conversor USB-COM que não está bem. Se tiveres echo, é a parte do MAX que não está bem.

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #69 em: 02 de Junho de 2011, 15:50 »
n percebi muito bem o q tenho k fazer

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: atmega88 USART
« Responder #70 em: 02 de Junho de 2011, 16:46 »
Como é que estas a ligar o Atmega ao PC?
Porta serial nativa?
Avr fanboy

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #71 em: 02 de Junho de 2011, 19:32 »
nao, estou a usar um conversor usb-rs232

mas hoje de tarde emprestaram-m um, vou comparar os resultados com o meu.. :)

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #72 em: 04 de Junho de 2011, 19:58 »
parece-m que era mesmo o conversor, mas ainda n consegui ver, pois ao testar o conversor, tive que instalar uns drivers, e depois disso, agora o terminal nao me deixa seleccionar as portas com desejada...

cumprimentos

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: atmega88 USART
« Responder #73 em: 04 de Junho de 2011, 22:50 »
Normalmente cada conversor vai aparecer numa porta COM com nome diferente.
Avr fanboy

Offline tiagosilva510

  • Mini Robot
  • *
  • Mensagens: 100
Re: atmega88 USART
« Responder #74 em: 06 de Junho de 2011, 14:49 »
com o novo conversor o que tive foi (em hex, uma vez q so consegui testar com o linux) ffff7fff7ffffefffefeff7ffffefeff, ou seja, ÿÿÿÿþÿþþÿÿþþÿ algo do genero do que me tinha dado anteriormente,

Cumprimentos Tiago Silva