Hetpro USBasp V3.0 Guía De Usuario página 41

Tabla de contenido

Publicidad

Guía de Usuario USBasp V3.0| HeTPro
int main (void) {
DDRC=0xFF;
InitUART( 51 );
while(1){
dato=ReceiveByte();
TransmitByte(dato);
}
}
#include<AVR/io.h>
#include<util/delay.h>
int dato;
Se comienza con las librerías y creando una variable en la que vamos a poner el
dato que mandaremos y recibiremos de la comunicación, este será de tipo entero
"int", que también podría ser de tipo carácter "char". Ver por ejemplo la tabla de
los valores de ASCII y vemos que el carácter 1 equivale a 49 en decimal o 31 en
hexadecimal, por lo tanto no confundir con un "char = '1'" con un "int=1" por que
el equivalente a "char='1'" seria "int=49".
void InitUART( unsigned char baudrate ) {
UBRRL = baudrate;
UCSRB = (UCSRB | _BV(RXEN) | _BV(TXEN));
}
Se hace una función para inicializar la UART, note que esta función se encuentra
antes del main, esto se hace para que no haya problemas con el compilador, se
recomienda ponerla antes.
La forma de la función es: primero el tipo, se pone void ya que no regresara
ningún valor, después el nombre de esta, se elige el que se quiera en este caso
InitUART, y entre paréntesis se inicializa la variable de entrada de la función, en
este caso es un char sin signo y se llama baudrate.
Al llamar a la función se le asignara un valor a la variable baudrate, y el valor de
esta variable se le asignara al registro UBRRL (Ver la hoja de datos, hay una
fórmula para sacar el valor del baudrate, dependiendo de la frecuencia del micro y
el modo de trabajo de la UART)
En el UCSRB se ponen en alto los bits RXEN y TXEN que son lo que habilitan la
transmisión y la recepción.
40

Publicidad

Tabla de contenido
loading

Tabla de contenido