Cundo se desea transmitir y recibir información en el microcontrolador
MCF51QE128 se hace uso del SCI que traduce interfaz de comunicación serial, de los cuales se cuenta con dos módulos en el MPU, estos son SCI1 y el SCI2. Algunas de la de las características que presenta este módulo es que son más relevantes es la forma serial en la que transmite la información, un bit a l vez, dado que solo existe un canal para ellos, si dos dispositivos están sincronizados a las misma frecuencias, se puede codificar y decodificar la información que se envían entre ellos, la transmisión del información se hace a través de canales físicos, unos para enviar y otro para recibir, a esto se le denomina full-duplex, a hora se mostraran los registros del SCIx y la forma de configurarlos para conseguir una comunicación full-duplex con transmisión y recepción de datos.
Estos registros controlan la escala de baudios a la que se desea transmitir la
información, es decir determina aproximadamente los bps(bits por segundo segundo) que se transmitirán. Comúnmente se emplean escalas de 9600 baudios. Expresión que determina este valor de la siguiente. velocidad de reloj de bus BaudRate= 16*SCIxBD SCI1BDH=0b00000000; SCI1BDL=0b00011010; //Baud rate a 9600 baudios
Este registro es importante ya que es aquí donde se decide si se desea full-
duplex seteando el pin 7. SCI1C1_LOOPS=1//Full-duplex on SCI1C1_SCISWAI=0//Si se desea que SC1 siga funcionando cuando se esta en una interrupción o CPU en espera. SCI1C1_RSRC=X// solo es importante si se ha establecido en SC1C1_LOOPS una comunicación half-duplex SCI1C1_M=0// Existen dos modos de organizar la información a enviar, con 8 o 9 bits, mas los bits de estar y stop en clear se configura en 8 bits SCI1C1_WAKE=0//Determina la condición de para dar por terminado un datos puede ser por un línea de estado inactivo o en set para que la condición sea un 1 en el bit mas significativos dependiendo si el mensaje ha sido elegido de 8 o 9 bits SCI1C1_ILT=1//Determina cuando empezar a contar la línea de inactividad de condición del menaje en star o cuando es seteado, esta comienza en stop SCII1C1_PE=1//Habilitar este bit ayuda a detectar errores simples ya que cheque que el número de unos sea par o impar y así ayuda informar con cierto grado de certeza si la información se ha transmitido de forma correcta. SCI1C1_PT=0/Con cero indica en el bit de paridad con los pares de los contrario lo hace con los impares. Por lo tato la configuración de este registro sería. SCI1C1=0b10000110;
Este registro hablita la transmisión y recepción, así como sus interrupciones
respectivamente. Es importante primero que TC es un flag que indica transmisión y SCI1D es donde se almacena el valor a enviar o el recivido
SCI1C2_TIE=1// Habilita interrupción de transmisión cuando esta vacio SCI1D
SCI1C2_TCIE=1//Hbilita interrupción cundo la flag de transmisión completada se activa SCI1C2_RIE=1//Habilita interrupción cuando se ha llenado el dato recibido en SCI1D SCI1C2_ILIE=1//Habilita interrupción cuando se detecta una línea inactiva, esta es la que determina que se ha cumplido el tiempo de bits que se determinó para cada mensaje SCI1C2_TE=1//habilita transmisión SCI1C2_RE=1//Habilita recepción SCI1C2_RWE=0//Pone en funcionamiento normal del deceptor, de otra manera en set este crea una interrupción cuando detecta una condición como las determinadas por SCI1C1_WAKE. SCI1C2_SBK=0//Hace un togle en este registro agrega un caracter mas al flujo que era útil para establecer comunicación con algunas máquinas antiguas que operaban con este protocolo. La configuración final de este registro sería. SCI1C2=0b11111100
Este registro se compone de lsa banderas de error e interrupción.
SCI1S1_TDRE//Flag de registro de dato SCI1D vacio SCI1S1_TC//Flag de transmisión completa SCI1S1_RDRF//Flag de registro de dato SCI1D lleno por recepción SCI1S1_IDLE//Flag de linea de inactividad, se activa cuando hay un perido de inatividad entre y un dato y otro SCI1S1_OR//Flag que se active si no se a leído SCI1D y por lo tanto no puede albergar más, entonces los nuevos datos se pierden. SCIS1_NF//Flag de ruido en alguno de los datos, es decir la muestra o bits es defectuoso SCI1S1_FE//Se active cuando se sucede un cero donde se esperaba un bit de parada, lo que siguiere que no se encuentra alineado el o sincronizado el proceso de comunicación. SCI1S1_PF//Es la bandera que se activa cundo se detecta un error de paridad anteriormente descrito.
En el registro SCI1D se almacena los datos recibidos o enviar par ser
manipulados en el código.La siguiente es la unicializacion resultante para una comunicación ful-duplex con recepción y transmisión. SCI1BDH=0b00000000; SCI1BDL=0b00011010; //Baud rate a 9600 baudios SCI1C1=0b10000110; SCI1C2=0b11111100
LOS REGISTO SCI1S2 Y SCI1S3 NO PRESENTAN RELEVANCIA PARA LA COMUNICACIÓN FUL-