Obtención de caracteres extraños en el hiper-terminal en la conexión en serie de la PC y el Atmega-16

0

Tengo una placa basada en Atmega-16, conectada a través de Max232 a los pines 2,3,5 de un conector db-9. El conector se conecta a una PC. Estoy obteniendo caracteres extraños en el hiper-terminal en lugar del normal "Hello World" para el programa de prueba en serie. He establecido tanto la velocidad en baudios en Atmega-16 como la hiper terminal en 4800. No estoy recibiendo ningún defecto. Por favor ayuda. ¡Gracias!

Editar: estoy usando este kit: enlace Los pines serie del Atmega16 se enrutan a través de un max232 a db-9, el circuito es el mismo que este:

Lasconfiguracionesenelterminalson:

Bitsdedatos:8
Bitsdeparada:1
Paridad:ninguna
Velocidaddetransmisión:4800

Elcódigobascomes:

$regfile="m16def.dat"
$crystal = 2000000
$baud = 9600
Config Lcd = 16 * 2
Config Lcdpin = Pin

Cls

Cursor Off

Dim A As String * 1
Do
  A = Waitkey()
  Print A
  Cls
  Lcd A
Loop

End

El problema también puede verse como: enlace

Las imágenes que muestran los caracteres (10) que estoy recibiendo son:

yelcódigohexadecimalcorrespondientequeestoyrecibiendoes:

    
pregunta user636177

2 respuestas

1

Compruebe la velocidad en baudios en el hiperminal o la configuración del oscilador.

    
respondido por el Bruno Ferreira
1

Es relativamente improbable que la frecuencia de reloj de 2 MHz que figura en su código sea apropiada. Los candidatos más probables serían 12 o 16 MHz, o incluso 8 MHz.

Si no puede determinar la frecuencia real del cristal, podría "medirla" calculando la cantidad de periodos de bits por byte de datos transmitidos (iirc 10, pero verifique eso) y sumergiendo la velocidad en baudios elegida para encontrar la Número de bytes por segundo. Multiplique eso por decir 5 y escriba un bucle for para encender un LED, envíe tantos bytes y luego apáguelo. Calcule cuánto tiempo lleva.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas