Microprocesadores AVR
•
•
•
Es uno de los protocolos de comunicación importantes para el microcontrolador. Toma los datos en bytes y los transmite bit a bit de manera secuencial. Siguiendo la figura es el diagrama de pines para el USART (RS-232) donde el pin2, 3 son los pines de transmisión y recepción mientras que el pin5 es el pin de tierra de la interface db9.
•
Debido a que el serial de la PC (RS-232) maneja voltajes de ± 12 y el serial del AVR (RS-232 TTL) maneja voltajes de 5 volts, la conexión mostrada anteriormente no se puede realizar directamente, por lo que se utiliza un integrado llamado max232 para realizar las conversiones de uno a otro.
•
•
El AVR puede trabajar con 4 modos de transferencia de datos diferentes, por el USART principalmente, asíncrono normal, asíncrono de doble velocidad, síncrono maestro, síncrono esclavo. De estos el modo de operación más común es el modo normal asíncrono. En el AVR el parámetro más importante para configurar del USART es el baud rate, número bits de datos, paridad y el número de bits de stop. Aquí el baud rate se define a que razón de envío de datos este dispositivo se comunica con otro, los demás parámetros definen la estructura del marco de la comunicación la cual se muestra en la figura
•
Instrucción: $baud •
•
•
Es una instrucción de configuración principal, que sirve para determinar la velocidad de transmisión a la que se van a comunicar los dispositivos. Por ejemplo: •
$baud =9600 (Velocidad de transmisión de 9600bps)
•
$baud =9600 (Velocidad de transmisión de 1200bps)
Instrucción: Print •
•
Sirve para enviar datos en forma serial, desde el microprocesador hacia otro dispositivo, como por ejemplo una PC. Por ejemplo: •
Print “Hola” (Transmisión de las palabra “Hola” )
•
Print C (Transmisión del contenido de la variable C)
•
Print Hex(c) (Transmisión del contenido de la variables C en Hexadecimal)
•
Instrucción: Input •
•
Sirve para recibir caracteres desde otro dispositivo hacia el microcontrolador. Por ejemplo: •
Input A (Recepción de datos en la variable A «String»)
•
•
Mediante la interrupción del puerto serial, será mas sencillo el manejo global del programa, ya que al menos no debemos preocuparnos en que instante nos puede llegar un dato; sino que simplemente realizamos una subrutina, la cual se encargara de almacenar dicho dato, proveniente de una fuente serial externa. Las instrucciones para hacer posible esto son: •
•
•
•
On Urxc Serial: Sirve para activar la subrutina llamada SERIAL, en caso de recibir un dato. Enable Interrupts: Sirve para habilitar las interrupciones presentes en el microprocesador. Enable Urxc: Sirve para habilitar la interrupción de recepción del puerto serial. Inkey: Sirve para guardar un dato recibido por comunicación serial en una variable declarada.
•
•
La comunicación por hardware, es similar a la comunicación con retorno por software, con la única diferencia que se deben abrir pines para transmisión y recepción definidos por el usuario. Las instrucciones utilizadas para abrir un puerto serial por hardware son: •
•
OPEN: sirve para habilitar cualquier pin del microcontrolador, para que funcione como entrada o salida de datos. Por ejemplo: •
Open "comd.1:9600,8,n,1" For Output As #1 (Para transmisión)
•
Open "comd.0:9600,8,n,1" For Output As #2 (Para recepción)
•
•
Close: sirve para cerrar la utilización de los pines de recepción y transmisión. Por ejemplo: •
Close #1 (Para cerrar transmisión)
•
Close #2 (Para cerrar recepción)
•
Print #1: Sirve para transmitir en el pin de transmisión virtual.
•
Input #2: Sirve para recibir por el pin de recepción virtual