collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[30 de Abril de 2024, 15:09]


Circuito Microfone que funcione por almamater
[27 de Abril de 2024, 17: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]

Autor Tópico: atmega88 USART  (Lida 23101 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