La mayor parte de las implementaciones de transmisión de datos vía puerto serial utilizan las siguientes funciones:

Tamaño: px
Comenzar la demostración a partir de la página:

Download "La mayor parte de las implementaciones de transmisión de datos vía puerto serial utilizan las siguientes funciones:"

Transcripción

1 Interfaz serial con buffer circular para MSP430 La mayor parte de las implementaciones de transmisión de datos vía puerto serial utilizan las siguientes funciones: Transmisión void USART_SendData (unsigned char Data) UTXBUF = Data; // buffer de transmisión Recepción unsigned char USART_GetData (void) unsigned char Data; Data = URXBUF; // buffer de recepción return (Data); En estos casos, se considera el envío y recepción de sólo un byte. Además, no se realiza un chequeo de los registros de transmisión (UxTXBUF y UxRXBUF) para verificar su disponibilidad. Esto puede generar mensajes corruptos, especialmente en transmisiones que involucran más de un byte. La idea es entonces separar los datos de transmisión y recepción de los registros de hardware. Para esto, se utilizan buffers circulares cuya principal ventaja es que pueden trabajar sin inicializaciones complejas. En la solución propuesta se utiliza un buffer circular para la transmisión y otro para la recepción. Cada buffer está ligado a dos índices (un índice de lectura y otro de escritura). También se considera una variable que guarda la cuenta de bytes remanentes en el buffer. Esta variable es también igual a la distancia entre los índices de lectura y escritura. Declaración de las variables #define TX_INT_ENABLE IE1 = UTXIE0 #define TX_INT_DISABLE IE1 &= ~UTXIE0 #define RX_INT_ENABLE IE1 = URXIE0 #define RX_INT_DISABLE IE1 &= ~URXIE0 #define RXBUFSIZE 16 // receive buffer size static volatile unsigned char RXBuffer[RXBUFSIZE]; // receive buffer // receive buffer indexes :

2 static volatile unsigned char RXReadIndex, RXWriteIndex; // count of received bytes: static volatile unsigned char RXCharCount; #define TXBUFSIZE 16 // transmit buffer size static volatile unsigned char TXBuffer[TXBUFSIZE]; // transmit buffer // transmit buffer indexes: static volatile unsigned char TXReadIndex, TXWriteIndex; // not yet transmitted bytes: static volatile unsigned char TXCharCount; #define BUFFER_EMPTY 1 // 1: nothing to send static volatile unsigned char TXBufferEmpty; // flag for synchronization Inicialización de índices y del USART0 - RS232Init () : void RS232Init (void) RXWriteIndex = RXReadIndex = RXCharCount = 0; TXWriteIndex = TXReadIndex = TXCharCount = 0; TXBufferEmpty = BUFFER_EMPTY; // reset empty flag //USART0_INIT BCSCTL1 &= ~DIVA0; // ACLK = XT1 / 4 = MCLK / 4 BCSCTL1 = DIVA1; UCTL0 = CHAR; //Sart bit, 8 data bits, no parity, 1 stop UTCTL0 = SSEL0; //ACLK is UART clock U0BR0 = 0xd0; // :9600=208 U0BR1 = 0x00; UMCTL0 = 0x00; //no modulation ME1 = UTXE0 URXE0; //enable UART modul P3SEL = 0x30; // P3.4,5 = USART0 TXD/RXD P3DIR = BIT4; //enable TXD0 as output P3DIR &= ~BIT5; //enable RXD0 as input IE1 = UTXIE0; // Enable USART0 TX interrupt IE1 = URXIE0; // Enable USART0 RX interrupt _EINT(); //enable interrupt Transmisión La rutina que se entrega a continuación sólo escribe el byte a transmitir en la posición indicada por el TXwriteindex en el buffer de transmisión. Luego este índice es incrementado, al igual que la cuenta de los bytes que no han sido transmitidos. Luego, se chequea si existe una transmisión activa. Si es así, no se hace nada más. En caso contrario, se inicia la transmisión.

3 Transmisión de datos - RS232TXChar (): void RS232TXChar (char cbyte) TXBuffer[TXWriteIndex++] = cbyte; // load byte to buffer and inc index TXWriteIndex &= TXBUFSIZE-1; // adjust index to borders of buffer TX_INT_DISABLE; // disable transmit interrupt (in IE1) TXCharCount++; // new char, inc count TX_INT_ENABLE; // enable interrupt (in IE1) if (TXBufferEmpty && TXCharCount) // buffer had been empty TXBufferEmpty =!BUFFER_EMPTY; // reset empty flag U0TXBUF = TXBuffer[TXReadIndex++]; // load tx register, inc index TXReadIndex &= TXBUFSIZE-1; // adjust index TXCharCount--; // char sent, dec count Rutina de atención de interrupciones para la transmisión - TXInterrupt (): #pragma vector = UART0TX_VECTOR interrupt void TXInterrupt (void) _EINT(); if (TXCharCount) // send if chars are in buffer U0TXBUF = TXBuffer[TXReadIndex++]; // load tx register, inc index TXReadIndex &= TXBUFSIZE-1; // adjust index TXCharCount--; // char sent, dec count else // buffer empty, nothing to do TXBufferEmpty = BUFFER_EMPTY; // set empty flag La rutina de atención de interrupciones por transmisión es atendida si el registro de transmisión está vacío. Si esto ocurre la rutina de atención de la interrupción chequea si queda algún byte por enviar. Si es así, el siguiente byte es escrito en el registro de transmisión. El índice de lectura es incrementado y el contador de bytes es decrementado. Si el byte enviado es el último (TXCharCount == 0), la transmisión termina seteando el flag que indica que el buffer está vacío. De este modo, para enviar un byte sólo hay que llamar a la función TXChar pasándole el byte a transmitir. Todo el resto del trabajo se realiza automáticamente en el background, sin interferir con otras partes del firmware.

4 Recepción Se utiliza el mismo concepto anterior: un buffer circular, con índices de lectura y escritura, y una variable que lleva la cuenta de los bytes que no han sido recibidos. Sólo la fuente y el destino de los datos cambia: la fuente es la interrupción por recepción. Rutina de atención de interrupciones para la recepción - RXInterrupt (): #pragma vector = UART0RX_VECTOR interrupt void RXInterrupt (void) _EINT(); RXBuffer[RXWriteIndex++] = U0RXBUF; // store received byte and // inc receive index RXWriteIndex &= RXBUFSIZE-1; // reset index RXCharCount++; // received, inc count El contenido de registro de recepción se escribe al buffer de lectura, y se incrementan el índice de lectura y el contador de bytes. El siguiente byte recibido es escrito a la siguiente posición del buffer de lectura, y así sucesivamente. Todos los bytes recibidos son almacenados en el buffer. Se requieren dos funciones para recoger los datos: la primera - RS232RXBufferCount() - chequea si se ha escrito un nuevo dato y la segunda - crs232getchar() - recoge el dato. Al leer un byte, el índice de escritura se incrementa para hacer que la siguiente llamada a la rutina lea el siguiente byte disponible desde el buffer. unsigned char RS232RXBufferCount (void) return (RXCharCount); char crs232getchar (void) char Byte; if (RXCharCount) // char still available Byte = RXBuffer[RXReadIndex++]; // get byte from buffer RXReadIndex &= RXBUFSIZE-1; // adjust index RX_INT_DISABLE; // disable rx interrupt (IE2) RXCharCount--; // one char read, dec count RX_INT_ENABLE; // done, enable int (IE2) return (Byte); else

5 return (0); // if there is no new char Estructura del código necesario para recepción datos desde el puerto serial char creceivebyte;... if (RS232RXBufferCount()) // char in buffer? creceivebyte = crs232getchar(); // yes, get it Así, todo lo que el programador debe hacer es asegurarse que los bytes son leídos antes que ocurra un overflow del buffer. Notas: Para ajustar los buffers, usar siempre tamaños potencias de dos (16, 32, 64,...). Los códigos entregados tienen la sintaxis adecuada para el compilador de la versión 2 de IAR. ANEXO (Código para Tx y Rx) void main (void) InitOsc (); InitPorts (); RS232Init (); InitLCD (); RS232TXChar (CR); RS232TXChar (LF); for (i = 0; i!= sizeof(txmss); i++) // envío del string inicial Delayx100us(50); RS232TXChar (TxMss[i]); RS232TXChar (CR); RS232TXChar (LF);

6 while (1) // loop de recepción if ( RS232RXBufferCount() ) // hay caracteres? RxB = crs232getchar(); RS232TXChar (RxB); // echo a pantalla STATUS_LED_ON; if (cntr == 0) // envío al display LCD SEND_CMD(CLR_DISP); SEND_CMD(DD_RAM_ADDR); SEND_CHAR(RxB); if(cntr == 15) SEND_CMD(DD_RAM_ADDR2); if(cntr++ == 31) cntr = 0; STATUS_LED_OFF;

Universidad Técnica Federico Santa María Departamento de Electrónica. Acceso Controlado vía WEB

Universidad Técnica Federico Santa María Departamento de Electrónica. Acceso Controlado vía WEB Acceso Controlado vía WEB Informe Proyecto Final Integrantes: Paola Rojas C. Pablo Naveas F. Claudio Ramírez S. Carlos Silva L. Christian Pelissier Q. Profesor: Leopoldo Silva Bijit Fecha: Junio de 2004.

Más detalles

Figura 1. Diagrama de bloques del Timer_A

Figura 1. Diagrama de bloques del Timer_A TIMER_A El Timer_A es un timer/contador de 16 bit con tres registros de captura/comparación. El Timer_A soporta múltiples capturas/comparaciones y temporización de intervalos de tiempo; también genera

Más detalles

Implementación de un reloj de tiempo real en el MSP430F149

Implementación de un reloj de tiempo real en el MSP430F149 Implementación de un reloj de tiempo real en el MSP430F149 Los relojes de tiempo real (eal Time Clocks) son utilizados en diversas aplicaciones: eventos generadores de marcas de tiempo, generación de eventos

Más detalles

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Diseño con Microcontroladores

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Diseño con Microcontroladores WATCHDOG TIMER El watchdog timer es un temporizador de 16 bit que puede ser usado como watchdog o por intervalos de tiempo. Al iniciarse un programa, el watchdog timer está activo y configurado por defecto

Más detalles

COMUNICACIÓN SERIAL FAMILIA DSP56800: Síncronas y Asíncronas CAPÍTULO VII

COMUNICACIÓN SERIAL FAMILIA DSP56800: Síncronas y Asíncronas CAPÍTULO VII Página 1 de 21 INTRODUCCIÓN CAPÍTULO VII El intercambio de información digital entre un procesador y los periféricos puede ser de dos formas: de manera paralela o serial. La primera implica el envió simultáneo

Más detalles

2.5-1 USART Introducción.

2.5-1 USART Introducción. 2.5-1 USART Introducción. El USART (universal synchronous asynchronous receiver transmitter) es uno de los dos puertos series de los que dispone los PIC16F87X. Puede funcionar de forma síncrona (half duplex)

Más detalles

Labs para el workshop de programación en C sobre MSP430 (SASE 2012)

Labs para el workshop de programación en C sobre MSP430 (SASE 2012) Labs para el workshop de programación en C sobre MSP430 (SASE 2012) Lab. 1: uso básico de puertos de E/S /******************************************************** * Lab01: uso básico de puertos de E/S.

Más detalles

SEMINARIO DE COMPUTADORES I DISE~NO CON MICROCONTROLADORES MSP430: Manejo de motor servo

SEMINARIO DE COMPUTADORES I DISE~NO CON MICROCONTROLADORES MSP430: Manejo de motor servo SEMINARIO DE COMPUTADORES I DISE~NO CON MICROCONTROLADORES MSP430: Manejo de motor servo Nombres: Daniel Arancibia Carocca Alex Garay Herrera Juan Carlos Jarur Mu~noz Bruno Mundaca Moraga Rodrigo Vizcarra

Más detalles

Guía rápida para gestionar el puerto paralelo del PC

Guía rápida para gestionar el puerto paralelo del PC Guía rápida para gestionar el puerto paralelo del PC Descarga desde: http://eii.unex.es/profesores/jisuarez/descargas/ip/guia_rapida_pp.pdf José Ignacio Suárez Marcelo Universidad de Extremadura Escuela

Más detalles

Instrucciones de Comunicaciones

Instrucciones de Comunicaciones Guía Rápida Instrucciones de Comunicaciones Introducción Guía Rápida Puertos lógicos (Asignación automática). Instrucciones de red. Instrucción para macros. Instrucciones para comunicaciones serie. OMRON

Más detalles

Práctica 2. Implementación de un driver básico para la transmisión de datos a través de la UART.

Práctica 2. Implementación de un driver básico para la transmisión de datos a través de la UART. Práctica 2. Implementación de un driver básico para la transmisión de datos a través de la UART. 1. Objetivo El objetivo de la siguiente práctica es el de implementar el software de control (driver) de

Más detalles

Vdd MIC29302. Vss PF.0 CS DI DAT CLK PE.7 PD.4 PD.5 PB.0. CAN-054, Utilización de tarjetas MMC en bajo nivel

Vdd MIC29302. Vss PF.0 CS DI DAT CLK PE.7 PD.4 PD.5 PB.0. CAN-054, Utilización de tarjetas MMC en bajo nivel Nota de Aplicación: CAN-054 Título: Utilización de tarjetas MMC en bajo nivel Autor: Sergio R. Caprile, Senior Engineer, colaboración IT&T (distr. Cika en Mendoza) Revisiones Fecha Comentarios 0 02/09/06

Más detalles

Programación en C para Sistemas Embebidos

Programación en C para Sistemas Embebidos SASE 2012 Programación en C para Sistemas Embebidos (con ejemplos basados en MSP430) Mg. Guillermo Friedrich UTN-FRBB Tópicos destacados - Generalidades sobre la arquitectura MSP430 - Paso de parámetros

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Microprocesadores, Tema 8:

Microprocesadores, Tema 8: Microprocesadores, Tema 8: Periféricos de Comunicación Síncronos Guillermo Carpintero Marta Ruiz Universidad Carlos III de Madrid Standard de Comunicación Protocolos Standard de Comunicación Serie Síncrona

Más detalles

Driver Medidor de Distancia Ultrasónico

Driver Medidor de Distancia Ultrasónico Seminario de Computadores I, 1 er Semestre 2004 Driver Medidor de Distancia Ultrasónico Francisco Blancaire Eduardo González Michael Kusch Diego Valencia ÍNDICE GENERAL Índice General 1 Introducción 2

Más detalles

Control remoto del EDUKIT08 vía PC...

Control remoto del EDUKIT08 vía PC... COMENTARIO TECNICO Mundo EDUKIT08 Por: Ing. Roberto Simone Ingeniero de aplicaciones Freescale robertosimone@arnet.com.ar Ing. Daniel Di Lella D.F.A.E www.edudevices.com.ar dilella@arnet.com.ar (MDO_EDUKIT_012)

Más detalles

INTRODUCCIÓN. Comunicación Serial.

INTRODUCCIÓN. Comunicación Serial. INTRODUCCIÓN La función principal de este tipo de comunicación es la de convertir datos de salida de forma paralela a serial y la de convertir datos de entrada de forma serial a paralela. El acceso al

Más detalles

Lector de códigos de barras con microcontrolador Motorola HC11

Lector de códigos de barras con microcontrolador Motorola HC11 Lector de códigos de barras con microcontrolador Motorola HC11 Alumno: Pinat Gastón José Legajo: 10.813 Introducción: Los códigos de barras son ampliamente utilizados por los fabricantes para identificar

Más detalles

Aquesta segona part de l examen consta de 2 fulls. Heu de contestar en la mateixa fulla on es troba la pregunta.

Aquesta segona part de l examen consta de 2 fulls. Heu de contestar en la mateixa fulla on es troba la pregunta. PART 2 FULL 1 Aquesta segona part de l examen consta de 2 fulls. Heu de contestar en la mateixa fulla on es troba la pregunta. 1. (1,5 punts) Dissenyar una unitat de control d un datapath emprant un Comptador

Más detalles

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Ficheros y streams Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Los streams pueden ser de entrada () de salida (). Los ficheros pueden almacenar

Más detalles

Programación en ensamblador y en alto nivel (C)

Programación en ensamblador y en alto nivel (C) Programación en ensamblador y en alto nivel (C) Taller de Microcontroladores año 2012 Optativa de grado y Curso de Posgrado El ISAdel AVR Preliminares 32 registros de 8 bits: R0 a R31 Los registros pueden

Más detalles

Figura 2. Formato de un dato serie síncrono.

Figura 2. Formato de un dato serie síncrono. ELECTRÓNICA DIGITAL II 1 COMUNICACIÓN SERIE EN EL 8051 En la comunicación serie los datos se transfieren bit por bit. Una interfaz en el microcontrolador los transfiere el dato en paralelo del CPU a serie

Más detalles

BLOQUE 3. Enrique Mandado Pérez María José Moure Rodríguez. Microcontroladores

BLOQUE 3. Enrique Mandado Pérez María José Moure Rodríguez. Microcontroladores SISTEMAS ELECTRÓNICOS DIGITALES BLOQUE 3 MICROCONTROLADORES (PARTE 4) DESARROLLO DE SISTEMAS ELECTRÓNICOS DIGITALES Interrupciones,Temporizadores/Contadores y Puerto serie Enrique Mandado Pérez María José

Más detalles

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale Curso sobre Microcontroladores Familia HC9S08 de Freescale Por Ing. Daniel Di Lella EduDevices www.edudevices.com.ar e-mail: info@edudevices.com.ar Capítulo 6.- Módulo Serial Asincrónico de Comunicación

Más detalles

Control Digital en PC con MS-DOS

Control Digital en PC con MS-DOS Control Digital en PC con MS-DOS Abel Alberto Cuadrado Vega 19 de abril de 2006 1. Introducción Un PC puede ser utilizado para realizar un sistema de control digital. Para ello necesita lo siguiente: tarjeta

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

Puerto de comunicaciones virtual (VCOM) Implementación de la clase CDC. Configuración de endpoints. CAN-102, HT32F USB device: COM virtual

Puerto de comunicaciones virtual (VCOM) Implementación de la clase CDC. Configuración de endpoints. CAN-102, HT32F USB device: COM virtual Nota de Aplicación: CAN-102 Título: HT32F USB device: COM virtual Autor: Sergio R. Caprile, Senior R&D Engineer Revisiones Fecha Comentarios 0 17/05/13 CAN-102, HT32F USB device: COM virtual La presente

Más detalles

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia

Más detalles

Introducción rápida a la programación (estructurada ) con C++

Introducción rápida a la programación (estructurada ) con C++ Introducción rápida a la programación (estructurada ) con C++ A B No A? Si B A Los Bloques pueden ser una línea de código o un modulo (función o subrutina) que pueden estar contenido en otro archivo de

Más detalles

UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema.

UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema. UNIDAD 1 1.1 Definición de Algoritmo La palabra algoritmo se deriva de la traducción al latín del nombre Muhammad Musa Al-khawarizmi, un matemático y astrónomo árabe que en el siglo IX escribió un tratado

Más detalles

CMSIS y Drivers para periféricos

CMSIS y Drivers para periféricos CMSIS y Drivers para periféricos Alan Kharsansky Abril - 2011 Alan Kharsansky CMSIS y Drivers para periféricos 1 / 34 Índice CMSIS y Drivers 1 CMSIS y Drivers Introducción Estructura Utilización Ejemplo

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

(SPI) Módulo Serial Sincrónico

(SPI) Módulo Serial Sincrónico SERIAL PERIPHERAL INTERFACE (SPI) Módulo Serial Sincrónico SERIAL PERIPHERAL INTERFACE MODULE Clock Generation Module (CGM) System Integration Module (SIM) LVI COP IRQ BREAK RESET 68HC08 CPU Timer Interface

Más detalles

Solución de Examen de Comunicación de Datos

Solución de Examen de Comunicación de Datos Solución de Examen de Comunicación de Datos 22 de Julio de 999 (Ref.: scdt9907.doc) Problema Se dispone de un enlace bidireccional libre de errores que une dos nodos, por el cual se envían y reciben frames

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

UNIDAD 3 ARQUITECTURA DEL Z80. Microprocesadores Otoño 2011

UNIDAD 3 ARQUITECTURA DEL Z80. Microprocesadores Otoño 2011 1 UNIDAD 3 ARQUITECTURA DEL Z80 Microprocesadores Otoño 2011 Contenido 2 Arquitectura interna del Z-80 Interface Ciclos de máquina y temporización del bus de comunicación. Conjunto de Instrucciones Arquitectura

Más detalles

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez Estructura de Microprocesadores PIC 18F4550 Módulos de Comunicación Serie Profesor Ing. Johan Carvajal Godínez Contenido Módulos de comunicación serie sincrónica I2C SPI Módulo de comunicación serie Asincrónico

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones: Ensamblador Interrupciones Definición: Una interrupción es el rompimiento en la secuencia de un programa para ejecutar un programa especial llamando una rutina de servicio cuya característica principal

Más detalles

ANEXO N 1. CÓDIGO PARA CONFIGURACIÓN DE MÓDULO BLUETOOTH POR MEDIO DE MICROCONTROLADOR ATMEGA328P

ANEXO N 1. CÓDIGO PARA CONFIGURACIÓN DE MÓDULO BLUETOOTH POR MEDIO DE MICROCONTROLADOR ATMEGA328P ANEXO N 1. CÓDIGO PARA CONFIGURACIÓN DE MÓDULO BLUETOOTH POR MEDIO DE MICROCONTROLADOR ATMEGA328P #include #define Tx 10 #define Rx 11 SoftwareSerial Bluetooth(Rx, Tx); // Recepción

Más detalles

PicoBlaze(3) Interfaces de Entrada/Salida. Diseño de Sistemas con FPGA 1er cuatrimestre 2009 Patricia Borensztejn

PicoBlaze(3) Interfaces de Entrada/Salida. Diseño de Sistemas con FPGA 1er cuatrimestre 2009 Patricia Borensztejn PicoBlaze(3) Interfaces de Entrada/Salida Diseño de Sistemas con FPGA 1er cuatrimestre 2009 Patricia Borensztejn Temario Esta clase contiene: Interface de entrada/salida en PicoBlaze Ejemplo 1: a 2 +b

Más detalles

D:\IDENTIFICADOR_PRODUCTO\Identificador_Prod\Identificador_Prod\Form1.cs // +++++++++ PLATAFORMA BASE DE DATOS PARA TARIFACIÓN DE PRODUCTOS +++++++++

D:\IDENTIFICADOR_PRODUCTO\Identificador_Prod\Identificador_Prod\Form1.cs // +++++++++ PLATAFORMA BASE DE DATOS PARA TARIFACIÓN DE PRODUCTOS +++++++++ // +++++++++ PLATAFORMA BASE DE DATOS PARA TARIFACIÓN DE PRODUCTOS +++++++++ 1 /* El código que precede es el responsable de ejecutar funciones que permiten interactuar a la Base de datos en Microsoft

Más detalles

Timer Interface Module

Timer Interface Module Timer Interface Module M.C. Jorge Eduardo Ibarra Esquer Timer Interface (TIM) El TIM es un timer de 2 canales que proporciona una referencia de temporización con captura de entrada, comparador de salida

Más detalles

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa

Más detalles

Bochs: VESA Bios Extensions

Bochs: VESA Bios Extensions Bochs: VESA Bios Extensions Alejandro Furfaro Técnicas Digitales III Mayo de 2011 Alejandro Furfaro (Departamento de Electrónica) Bochs: VESA Bios Extensions Ciclo lectivo 2011 1 / 15 Temario 1 Vistazo

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El stack Formatos de datos Control

Más detalles

La programación del puerto serial de E/S, la reconoce el DOS como COM1 y COM2. Esto se puede realizar de varias formas:

La programación del puerto serial de E/S, la reconoce el DOS como COM1 y COM2. Esto se puede realizar de varias formas: CAPÍTULO 9 PROGRAMANDO LA INTERFAZ SERIAL La programación del puerto serial de E/S, la reconoce el DOS como COM1 y COM2. Esto se puede realizar de varias formas: Usando las funciones open, read, write

Más detalles

LLAMADAS AL SISTEMA SISTEMAS OPERATIVOS

LLAMADAS AL SISTEMA SISTEMAS OPERATIVOS LLAMADAS AL SISTEMA SISTEMAS OPERATIVOS 26/05/2013 eduar14_cr@hotmail.com cilred_tlapa@hotmail.com LLAMADAS AL SISTEMA Las llamadas al sistema proporcionan la interfaz entre un proceso y el sistema operativo,

Más detalles

Por el contrario System.in es un byte Stream sin caracteristicas de character Stream.

Por el contrario System.in es un byte Stream sin caracteristicas de character Stream. I/O desde la linea de Comandos Los programas normalmente tienen funcionalidades para el ingreso o captura de datos desde la linea de comandos. La plataforma Java soporta estas iteracciones de dos formas:

Más detalles

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale Curso sobre Microcontroladores Familia HC9S08 de Freescale Por Ing. Daniel Di Lella EduDevices www.edudevices.com.ar e-mail: info@edudevices.com.ar Capítulo 7.- Módulo Serial Sincrónico de Comunicaciones

Más detalles

Programación En Lenguaje C

Programación En Lenguaje C Programación En Lenguaje C Introducción Básica para Primero de Bachillerato TECNOLOGÍA DE LA INFORMACIÓN IES PALAS ATENEA Lenguaje C Estructurado Secuencial De alto Nivel Altamente portable Necesita un

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación

Más detalles

El lenguaje C. if (a>3) { printf("hola"); // bloque printf("%d",a); // de getch(); //código } Partes de un programa en C.

El lenguaje C. if (a>3) { printf(hola); // bloque printf(%d,a); // de getch(); //código } Partes de un programa en C. El lenguaje C El lenguaje C es uno de los lenguajes de programación estructurada más utilizados en nuestros días. El principal componente estructural de C es la función. En C, las funciones son bloques

Más detalles

Entrada y Salida de datos

Entrada y Salida de datos Entrada y Salida de datos El intercambio de datos entre el programa y el exterior da lugar a la diversidad de dispositivos y de formas de comunicación (modo de acceso, si es binaria, etc.). Los flujos

Más detalles

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

Puertos Seriales Conexión PC Microcontroladores

Puertos Seriales Conexión PC Microcontroladores Puertos Seriales Conexión PC Microcontroladores Puertos del PC Aplicaciones Personales Autor: Carlos A. Narváez V. Ingeniero Electricista Universidad de Oriente Email: cnarvaez@bolivar.udo.edu.ve Propósito

Más detalles

Tarjeta demo para Lectura/Escritura RFID ID-20MFIA Dispositivo: ID-20MF

Tarjeta demo para Lectura/Escritura RFID ID-20MFIA Dispositivo: ID-20MF Nota de plicación Documentos asociados: No Tarjeta demo para Lectura/Escritura RFID ID-20MFI Dispositivo: ID-20MF Resumen Esta nota de aplicación mostrará el manejo básico de lectura y escritura de datos

Más detalles

ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO

ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO 16.1 INTRODUCCIÓN: El teclado se comunica con la BIOS a través de puertos de comunicación controlados por las interrupciones de la

Más detalles

Tema 10: Estructuras de control de entrada y salida

Tema 10: Estructuras de control de entrada y salida Tema 10: Estructuras de control de entrada y salida Estructuras de control de entrada y salida (input, disp, fopen, fclose, fscanf, fprintf, textread, load, save). Instrucciones de entrada (lectura) y

Más detalles

Laboratorio 5: Tarjeta de Desarrollo Spartan-3

Laboratorio 5: Tarjeta de Desarrollo Spartan-3 Laboratorio 5: Tarjeta de Desarrollo Spartan-3 Objetivos: Aprender el uso de dispositivos controlados por una FPGA en una tarjeta de desarrollo. Conocer la interfaz PS/2, el protocolo de comunicación y

Más detalles

Tópicos Especiales de Mecatrónica

Tópicos Especiales de Mecatrónica Tópicos Especiales de Mecatrónica Comunicación Serial Ricardo-Franco Mendoza-Garcia rmendozag@uta.cl Escuela Universitaria de Ingeniería Mecánica Universidad de Tarapacá Arica, Chile May 7, 2015 R. F.

Más detalles

CAN-101, HT6P20x2 Encoder para aplicaciones remotas de control

CAN-101, HT6P20x2 Encoder para aplicaciones remotas de control Nota de Aplicación: CAN-101 Título: HT6P20x2 Encoder para aplicaciones remotas de control Autor: Ing Iván C Sierra Revisiones Fecha Comentarios 0 28/01/13 En esta oportunidad le presentamos un nuevo encoder,

Más detalles

Bloque III: El nivel de transporte. Tema 7: Intercambio de datos TCP

Bloque III: El nivel de transporte. Tema 7: Intercambio de datos TCP Bloque III: El nivel de transporte Tema 7: Intercambio de datos TCP Índice Bloque III: El nivel de transporte Tema 7: Intercambio de datos TCP Flujo de datos interactivo ACKs retardados Algoritmo de Nagle

Más detalles

En el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro:

En el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro: LABORATORIO #6 (Parte I y II) REGISTROS Y ARCHIVOS Parte I: Registros Un registro es una estructura de datos formado por un conjunto de elementos llamados campos, no necesariamente del mismo tipo y que

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

Diseño de Microcontroladores

Diseño de Microcontroladores Departamento de Electrónica Diseño de Microcontroladores Alumnos: De la Goublaye de Ménorval, Eric Gómez, Rodrigo Pinto, Orlando Salas, Felipe micro@magicflow.cl 30/03/04 1. Índice 1. Índice...2 2. Introducción...3

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Mapas de Memoria y E/S

Mapas de Memoria y E/S Mapas de Memoria y E/S Sistemas con Microprocesadores http://www.herrera.unt.edu.ar/procesadores Conexiones internas del CPU08 Dentro del mc el CPU08 se vincula con memoria y con los dispositivos de E/S

Más detalles

Concurrencia: Exclusión mutua y Sincronización

Concurrencia: Exclusión mutua y Sincronización Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas

Más detalles

Tema: Arduino y Comunicación Serial con Visual Basic

Tema: Arduino y Comunicación Serial con Visual Basic Facultad: Ingeniería Escuela: Electrónica Asignatura: Interfaces y Periféricos Tema: Arduino y Comunicación Serial con Visual Basic Objetivos Específicos. Utilizar el puerto USB como dispositivo de comunicación

Más detalles

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale Curso sobre Microcontroladores Familia HC9S08 de Freescale Por Ing. Daniel Di Lella EduDevices www.edudevices.com.ar e-mail: info@edudevices.com.ar Capítulo 8.- Inter Integrated Circuit Interface I2C MMIIC

Más detalles

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

1. Cuántas sentencias hay en la secuencia principal del siguiente programa? 1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.

Más detalles

Guía de práctica. Dispositivo

Guía de práctica. Dispositivo Guía de práctica Que queremos hacer? Vamos a hacer el Hello World del mundo de la electrónica que no es más que prender y apagar un LED a intervalos regulares. PROYECTO LAPEGÜE 1 = Prende Dispositivo 0

Más detalles

El Famoso CUBO LED. Nombre 1 Nombre 2

El Famoso CUBO LED. Nombre 1 Nombre 2 El Famoso CUBO LED Nombre 1 Nombre 2 Descripción del proyecto : Controlar 64 ledes del cubo con tan solo 20 pines de la placa de arduino, utilizando una técnica denominada multiplexación, y crear un espectáculo

Más detalles

Test I2C Documentación Proyecto SISEM 2012 IIE - FING

Test I2C Documentación Proyecto SISEM 2012 IIE - FING Test I2C Documentación Proyecto SISEM 2012 IIE - FING Tutores: Pablo Mazzara Conrado Rossi Integrantes: Martin Ardao Luis Briosso Imanol Calvo Resumen En el siguiente documento se describe el proceso de

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

Módulo Radio frecuencia FSK y Arduino

Módulo Radio frecuencia FSK y Arduino ABC PROYECTOS ELECTRÓNICOS ABCelectronica.net 1 Módulo Radio frecuencia FSK y Arduino El objetivo de este circuito básico es la posibilidad de enviar una palabra cada cierto tiempo entre un transmisor

Más detalles

Introducción al Lenguaje de Programación C

Introducción al Lenguaje de Programación C Introducción al Lenguaje de Programación C Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Lenguaje de Programación C Fue diseñado

Más detalles

CAPITULO 3 Herramientas de desarrollo CAN

CAPITULO 3 Herramientas de desarrollo CAN CAPITULO 3 Herramientas de desarrollo CAN En este capítulo se describirán herramientas para el desarrollo y diseño de proyectos CAN: CANKing, CANalyzer, MPLAB IDE y el KIT de desarrollo PICDEM CAN-LIN

Más detalles

El módulo LCD Ejemplos de funcionamiento

El módulo LCD Ejemplos de funcionamiento SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS PRACTICAS DE MICROCONTROLADORES PIC PRÁCTICA 7: El módulo LCD El módulo LCD Ejemplos de funcionamiento - 1 - 1. Objetivos: - Conocer el funcionamiento y programación

Más detalles

MANUAL DEL MICROCONTROLADOR 8051

MANUAL DEL MICROCONTROLADOR 8051 MANUAL DEL MICROCONTROLADOR 8051 Dr. Alejandro Vega Agosto-diciembre 1999 INDICE Página INTRODUCCIÓN 3 PRIMERA PARTE. CAPITULO 1, CARACTERÍSTICAS DEL MICROCONTROLADOR 8051 5 1.1CARACTERÍSTICAS DELµC-8051

Más detalles

Los bloques DLL (Figura A.1) externos permiten al usuario escribir su propio código y

Los bloques DLL (Figura A.1) externos permiten al usuario escribir su propio código y Apéndice A Bloques DLL Los bloques DLL (Figura A.1) externos permiten al usuario escribir su propio código y programarlo en lenguaje C, compilarlo dentro de un archivo DLL usando el Microsoft C/C++ o el

Más detalles

Cómo controlar el puerto serie usando C#? Javier Gómez. Ingeniero de Telecomunicaciones por la Escuela Tecnica Superior de Bilbao

Cómo controlar el puerto serie usando C#? Javier Gómez. Ingeniero de Telecomunicaciones por la Escuela Tecnica Superior de Bilbao Cómo controlar el puerto serie usando C#? Javier Gómez Ingeniero de Telecomunicaciones por la Escuela Tecnica Superior de Bilbao Cómo controlar el puerto serie usando c#? Prerrequisitos Para poder utilizar

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Matías Zabaljáuregui

Matías Zabaljáuregui El buffer de la entrada estándar en GNU/Linux Matías Zabaljáuregui (matiasz@info.unlp.edu.ar) http://linux.linti.unlp.edu.ar 0. Introducción Se intentará describir en términos sencillos la forma de tratar

Más detalles

PROYECTO DE ELECTRÓNICA

PROYECTO DE ELECTRÓNICA PROYECTO DE ELECTRÓNICA Sistema de Alarma Raúl Lapaz de Juan Francisco Javier López Alcarria 1 ÍNDICE - Objetivo:... 3 - Justificación:... 3 - Plan de trabajo:... 3 A) Montaje del circuito en protoboards:...

Más detalles

LENGUAJE. Tema 2 Elementos de un programa

LENGUAJE. Tema 2 Elementos de un programa LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar

Más detalles

Introducción a C++ y Code::Blocks

Introducción a C++ y Code::Blocks Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete

Más detalles

TARJETA HC-05 ARDUINO

TARJETA HC-05 ARDUINO TARJETA HC-05 ARDUINO TABLA DE CONTENIDO INTRODUCCIÓN... 3 DESCRIPCIÓN... 4 Características Hardware... 4 Características del Software... 4 ETAPAS Y CARACTERISTICAS ESPECÍFICAS... 5 1. Entrada de voltaje...

Más detalles

ISP (Programación en sistema) de los microcontroladores de NXP (Philips) 89LPC9XX utilizando Flash Magic y la UART (puerto serie) del microcontrolador

ISP (Programación en sistema) de los microcontroladores de NXP (Philips) 89LPC9XX utilizando Flash Magic y la UART (puerto serie) del microcontrolador ISP (Programación en sistema) de los microcontroladores de NXP (Philips) 89LPC9XX utilizando Flash Magic y la UART (puerto serie) del microcontrolador Patricio Coronado, SEGAINVEX ELECTRONICA (Universidad

Más detalles

NVIC : Nested Vectored Interrupt Controller

NVIC : Nested Vectored Interrupt Controller NVIC : Nested Vectored Interrupt Controller Laboratorio de Microprocesadores 03/09/2015 Laboratorio de Microprocesadores Ing. Daniel Jacoby1 NVIC Nested Vector Interrupt Controller La arquitectura Cortex

Más detalles

NT 3 PROGRAMACION ON-LINE DE TODA LA FAMILIA APPCON

NT 3 PROGRAMACION ON-LINE DE TODA LA FAMILIA APPCON NT 3 PROGRAMACION ON-LINE DE TODA LA FAMILIA APPCON Introducción El objetivo de esta nota técnica es que el usuario tenga la capacidad de configurar los parámetros de los módulos de toda la familia APPCON

Más detalles

UART. Diseño de Sistemas con FPGA 2 o cuatrimestre 2011 Patricia Borensztejn

UART. Diseño de Sistemas con FPGA 2 o cuatrimestre 2011 Patricia Borensztejn UART Diseño de Sistemas con FPGA 2 o cuatrimestre 2011 Patricia Borensztejn UART Universal Asynchronous receiver and transmitter: dispositivo que envía datos paralelos sobre una línea serie. RS-232: standard

Más detalles

DFRduino Romeo, todo en un controlador (RoMeo V1.0) Por favor, lea atentamente este manual antes de encender el dispositivo.

DFRduino Romeo, todo en un controlador (RoMeo V1.0) Por favor, lea atentamente este manual antes de encender el dispositivo. DFRduino Romeo, todo en un controlador (RoMeo V1.0) Por favor, lea atentamente este manual antes de encender el dispositivo. DFRduino Romeo Romeo es un microcontrolador de todo-en-uno diseñado especialmente

Más detalles

Tema 14. Interrupciones. Las. C. F. G.S. D.P.E. Módulo de Proyectos 1

Tema 14. Interrupciones. Las. C. F. G.S. D.P.E. Módulo de Proyectos 1 Tema 14 Las Interrupciones C. F. G.S. D.P.E. Módulo de Proyectos 1 Los PIC de la familia 16F8X poseen 4 fuentes de interrupción: Interrupción externa a través del pin RB0/INT Interrupción por overflow

Más detalles

Guía resumida para utilizar el microcontrolador CY7C68013

Guía resumida para utilizar el microcontrolador CY7C68013 Guía resumida para utilizar el microcontrolador CY7C68013 Camilo Quintáns Graña Miguel Ángel Domínguez Gómez Vigo, 2011 Índice 1. DESCRIPCIÓN DEL HARDWARE... 3 1.1. Introducción... 3 1.2. Recursos de memoria...

Más detalles

Práctica No. 3 del Curso "Microcontroladores" Contador de Objetos

Práctica No. 3 del Curso Microcontroladores Contador de Objetos Objetivos Práctica No. 3 del Curso "Microcontroladores" Contador de Objetos Hacer un sistema con base en el MSP430 que cuente los objetos que pasan con base en un detector infrarrojo, cada que pasen 10

Más detalles

Índice de contenido. Descripción del módulo. CTU-012, XBee Programable

Índice de contenido. Descripción del módulo. CTU-012, XBee Programable Tutorial: CTU-012 Título: XBee Programable Autor: Sergio R. Caprile, Senior Engineer Revisiones Fecha Comentarios 0 16/02/11 1 17/06/11 Agrega algunos periféricos del micro de aplicación El presente tutorial

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles