En algunas ocasiones cuando se está
comenzando a trabajar con algún componente programable y queremos explorarlo
antes de llevar a cabo una inversión monetaria mayor o simplemente si no se
tienen los recursos económicos suficientes para adquirir un programador
original, es bastante útil poder contar con un programador genérico o que sea
de acceso libre y mucho mejor aun si es de fácil construcción.
Este es el caso de un programador para
PSoC 1 que quiero compartir con ustedes, este dispositivo sirve más específicamente para las referencias
CY8C27433 y CY8C29466, es importante aclarar que este proyecto no fue
desarrollado por mí en ningún momento y tampoco lo he probado, lo encontré hace
algún tiempo en una de las tantas discusiones que se pueden encontrar en la
pagina foros de electrónica, aprovecho para recomendarles un hilo de discusión
que tienen abierto sobre PSoC el cual me parece que tiene cosas que pueden ser
de beneficio para todos.
Este programador tiene como ventaja la simplicidad de su diseño, lo cual lo hace de fácil construcción y bajo costo,
sin embargo también tiene como desventaja que la conexión al computador se hace
por medio de un puerto paralelo, lo cual hace que su uso en un computador portátil
sea prácticamente imposible, sin embargo si se cuenta con un equipo de
escritorio esta se convierte en una buena forma de comenzar en la programación
de microcontroladores PSoC de las referencias antes mencionadas. El link de
donde encontré dicho programador es el siguiente:
Dentro de este aporte pueden
encontrar el diagrama del circuito del programador, el software necesario para
llevar a cabo la carga del archivo .hex y posterior programación del PSoC y los
archivos de texto donde explican cómo hacer uso del programador.
(Figura 1. Diagrama programador PSoC)
(Figura 2. Vista del software del programador)
Espero que les sea de ayuda, lo prueben y comenten su experiencia con este proyecto.
En esta entrada se va a trabajar la
recepción de datos por medio del protocolo UART con un microcontrolador PSoC,
por lo tanto es recomendable primero revisar y leer una publicación anterior en
la cual se hizo la introducción y un primer trabajo de envío de datos por medio
de este protocolo con el modulo de usuario UART con el que cuenta PSoC Designer,
la entrada en mención es la siguiente: COMUNICACIÓN UART CON PSoC.
En la práctica que se va a mostrar en
esta entrada se trata de enviar un dato por medio de protocolo UART desde el
computador, recibir este dato en el microcontrolador PSoC para luego mostrarlo
en un display LCD de 16 caracteres por 2 columnas. Antes de comenzar con la
muestra del desarrollo de la práctica es necesario mostrar algunos métodos que
tiene el módulo UART de PSoC para la recepción de caracteres como son los
siguientes:
UART_IntCntl: Esta función
habilita o deshabilita las interrupciones de recepción y transmisión de manera
independiente, la sintaxis es:
UART_IntCntl(); dentro del paréntesis se debe colocar el tipo de
interrupción que se desee habilitar o deshabilitar teniendo las siguientes
opciones:
·UART_ENABLE_RX_INT: Habilita la recepción
·UART_ENABLE_TX_INT: Habilita la transmisión
·UART_DISABLE_RX_INT: Deshabilita la recepción
·UART_DISABLE_TX_INT: Deshabilita la transmisión
Por ejemplo para habilitar la recepción,
la línea de código quedaría escrita de la siguiente manera:
·UART_IntCntl(UART_ENABLE_RX_INT); UART_CmdReset: Resetea el
buffer del modulo UART, dejándolo preparado para recibir las siguientes
instrucciones. La sintaxis de esta función es:
·UART_CmdReset(); UART_szGetParam: Toma el dato
guardado en el buffer de recepción del modulo UART, luego de tomar este dato lo
guarda en un puntero. La sintaxis de a función es la siguiente:
·Char * UART_szGetParam();
Para que esta función pueda guardar el
dato dentro de un puntero, se coloca la función dentro de una condición if, por ejemplo:
·If(dato = UART_szGetParam()){}
Donde dato es el puntero en el cual se
va a guardar el dato que ha recibido el buffer del módulo UART del PSoC.
DESARROLLO DE LA PRÁCTICA:
Como ya se había mencionado en esta
práctica se va a enviar un dato por medio del computador para que
posteriormente sea recibido por el modulo UART del microcontrolador PSoC y sea
mostrado en un display LCD 16*2.
En la práctica con módulo UART
realizada anteriormente, para establecer la comunicación entre el computador y
el microcontrolador se utilizo una tarjeta construida con un circuito integrado
FT232 con el cual se lograba hacer la conversión de protocolo USB a UART
mediante la emulación de un puerto COM, en esta ocasión no se va a utilizar la
misma tarjeta sino que para mostrar una nueva posibilidad para establecer dicha
conexión se utilizo un programador de microcontroladores PIC como interfaz y
como software para enviar los datos se utilizo la herramienta UART (UART Tool)
del programa PICkit 2 de Microchip.
Luego de haber enviado el dato, el encargado de
recibir dicha información es el PSoC, para tal fin se utilizo un modulo UART y
se configuraron los parámetros del reloj y de recepción del mismo tal como se
muestra en la imagen a continuación.
(Figura 1.
Parámetros globales del microcontrolador)
(Figura 2. Parámetros módulo UART)
Luego de guardar el dato para hacer la
visualización del mismo se utilizo un display LCD 16*2, para utilizar este dispositivo
se uso el módulo LCD que incluye PSoC Designer.
El código utilizado para esta práctica
con sus respectivos comentarios se puede ver a continuación:
Una aplicación utilizada comúnmente en
electrónica son los PWM, para esta publicación de PSoC en Español se va a
presentar como configurar el modulo de usuario PWM de PSoC Designer y la manera
de cambiar el ciclo útil del mismo por medio de una entrada de voltaje análogo.
En primera instancia PSoC Designer dentro
del catalogo de módulos de usuario ofrece módulos PWM de 8 y 16 bits, para este
ejemplo se va a utilizar un modulo de 8 bits, sin embargo si quieren configurar
un modulo de 16 bits no tienen de que preocuparse ya que los parámetros de
configuración son prácticamente los mismos. Para comenzar en sí con el
desarrollo de esta publicación se tienen que mostrar cuales son los parámetros
de configuración de estos módulos y de que consta cada uno.
Clock:
Este parámetro de configuración se
refiere al reloj con el cual se va a alimentar el modulo de usuario, la
velocidad de este reloj es un factor determinante para determinar la frecuencia
a la cual va a trabajar el PWM.
El “clock” se puede escoger entre los
diferentes relojes de los que dispone PSoC como por ejemplo Sysclk*2 (Ya que
estos módulos soportan reloj hasta de 48 MHz), VC2, VC2, VC3, además de relojes
externos que pueden ser conectados por medio de las entradas digitales del
microcontrolador.
Enable:
Con este parámetro se escoge la forma
con la cual se va a activar el PWM, se puede escoger entre 16 fuentes
diferentes entre las que se encuentran, high, low, los comparadores y las
entradas digitales del microcontrolador, en caso de escoger la opción “High”
significara que el modulo PWM permanecerá activo de manera permanente.
CompareOut:
Este parámetro es la salida del
modulo, por lo tanto es de donde se obtiene el PWM que puede ser conectado a
uno de los buses para que pueda estar a disposición de otros módulos de usuario
o para su conexión a alguno de los pines de salida del microcontrolador.
TerminalCountOut:
Es una salida auxiliar a la
“CompareOut”, con esta se puede conectar la respuesta del PWM a otro bus para
futuras conexiones, en caso de no ser necesario se puede dejar deshabilitada.
Period:
Este parámetro permite configurar el
periodo de la señal del PWM, los valores que puede tomar son de (0 - 255) para
el caso de los PWM de 8 bits y de (0 - 65535) para el caso de los PWM de 16
bits.
PulseWidth:
A partir de este parámetro se puede
configurar el ciclo útil del PWM, puede tomar al igual que para el parámetro
“Period” puede tomar valores entre (0 -255 o 0-65535) dependiendo del tipo de
modulo con el cual se esté trabajando, el ciclo útil se puede calcular a partir
de las siguientes ecuaciones:
·Con CompareType = “Less Than”
·Con
CompareType = “Less Than Or Equal”
Lo anterior aplica solamente cuando el
valor de “PulseWidth” es menor al valor del parámetro “Periodo”, en caso de ser
mayor o igual el ciclo útil del PWM es de 100%.
InterruptType:
Este parámetro permite configurar el
tipo de interrupciones con las cuales se va a manejar el modulo.
CompareType:
Este tipo establece el tipo de
comparación que se va a realizar y es el que se mencionaba en el parámetro
“PulseWidth” como parte del cálculo del ciclo útil.
ClockSync:
Indica la fuente de reloj con la cual
se debe sincronizar el modulo.
InvertEnable:
Invierta la señal de entrada que se
había configurado previamente como señal de habilitación del modulo.
Así como estos parámetros pueden ser
configurados de manera grafica sencillamente, también pueden ser configurados
por medio de código ya sea en Assembler o en C mediante comandos que permiten
activar o desactivar el modulo, modificar el periodo, el ancho del pulso, entre
otras características, ejemplos de esto son los siguientes comandos:
PWM8_Start(); //Inicializa el
modulo PWM
PWM8_WritePeriod(Valor del
periodo); //Configura el periodo del PWM
PWM8_WritePulseWidth(Valor del
ancho de pulso);// Configura el ancho de pulso del PWM
PWM8_bReadPulseWidth();// Lee el valor
del ancho de pulso del PWM
PWM8_Stop(); //Detiene
el modulo PWM8
DESARROLLO PRÁCTICA DE PWM CONTROLADO
POR VOLTAJE:
El objetivo principal de esta
publicación es desarrollar un circuito PWM cuyo ciclo útil sea modificado por
medio del valor de una señal de voltaje análogo, para tal fin se va a utilizar
el IDE de desarrollo de PSoC (PSoC Designer), los módulos de usuario ADCINC y
PWM8. El procedimiento para desarrollar esta aplicación fue el siguiente:
1.Ingresar la señal
de voltaje análogo al microcontrolador PSoC y convertirla a un valor digital.
Para tal fin se utiliza con un convertidor análogo a digital (modulo ADCINC),
personalmente antes del modulo convertidor, prefiero utilizar un modulo PGA
para ingresar la señal análoga y de esta manera hacer una especie de acople o
adaptación de la señal, luego de este modulo PGA si procedo a ingresar la señal
análoga al convertidor ADC.
2.Configurar el
modulo PWM según los criterios que se mostraron anteriormente y las necesidades
de frecuencia que tenga cada uno.
3.Utilizando el
valor digital entregado por el convertidor ADC y el comando
“PWM8_WritePulseWidth();” del modulo PWM, se re-escribe el valor del ancho de
pulso y por lo tanto el del ciclo útil del PWM, esta cambio de ciclo útil es
proporcional al cambio de voltaje que se presente en la señal análoga de la
entrada del circuito.
Como se puede apreciar por el
procedimiento descrito, la práctica es bastante sencilla y así mismo el código
también lo es, tal como se puede apreciar a continuación.
El pasado 12 y 13 de diciembre de 2012 se llevo a cabo el PSoC World, este evento fue una exposición virtual organizada por Cypress donde se presentaron avances de la tecnología PSoC y también de las diferentes compañías socias o colaboradoras en el proyecto PSoC como por ejemplo ARM y ARROW.
Además de las conferencias ofrecidas por ingenieros y ejecutivos de las empresas participantes, el PSoC World fue el espacio escogido por cypress para dar a conocer un poco más las nuevas herramientas y mejoras de su IDE de desarrollo para PSoC 1, llamado PSoC Designer 5.3, que aunque había sido lanzada en octubre del 2012 hasta el momento no contaba con una gran difusión.
Dentro de toda la gama de mejoras o de nuevas características, quizás la más llamativa es el auto-ruteo, con esta herramienta es posible visualizar de una manera gráfica (Figura 1) todas las posibles conexiones que puede tener un bloque ya sea digital o análogo, esto facilita y hace más rápido el proceso de conexión de todos los bloques y puertos que componen la aplicación que se esté desarrollando.
(Figura
1. Opciones de Auto-ruteo del puerto RX_Input de un modulo UART)
Para poder desplegar todas las opciones de conexión que tiene un puerto solo es necesario el comandoshift + click sobre el puerto que se quiere conectar y automáticamente aparecerán todas las posibles rutas del puerto como se pudo observar en la figura anterior.
Otras mejoras significativas en esta nueva versión son:
Catalogo de dispositivos: en esta versión el catalogo de dispositivos permite ubicar el chip que se quiere utilizar por medio de una serie de filtros con lo cual se agiliza el proceso de búsqueda (Figura 2).
(Figura 2.
Catalogo de dispositivos)
Personalización de los módulos de usuario: En esta nueva versión es posible clonar los módulos de usuario para luego hacerles modificaciones según lo requieran nuestros proyectos y de esta manera por decirlo de alguna forma crear nuevos módulos de usuario que se ajusten más a las necesidades específicas de cada diseñador. Estos nuevos módulos de usuario personalizados pueden entrar a hacer parte de la biblioteca de PSoC Designer para ser utilizados en cualquier proyecto. Además se pueden exportar los nuevos módulos en un formato .zip para luego ser importados a las librerías de cualquier otro PSoC Designer 5.3 o posterior.
Nuevos módulos de usuario: En esta nueva versión han sido incluidos 8 nuevos módulos de usuario con los cuales se busca simplificar algunas tareas de programación y desarrollo de nuevas aplicaciones, los nuevos módulos son los siguientes:
• VoltajeSequencer
• SMBusSlave
• FanController
• Termistor
• SmartSense2x
• GasSensorAFE
• SwitchCapConfig
• EzADC
Las mejoras que se acabaron de mencionar pueden ser destacadas como las más significativas, aunque no son las únicas ya que también se pueden encontrar otras mejoras en la interacción del usuario con la interfaz gráfica como la posibilidad de hacer zoom con la rueda de desplazamiento del mouse y otros cambios más que hacen posible que la estructura del chip sea más visible.
NOTA: Si inicialmente solo quieren hacer una prueba de esta nueva versión de PSoC Designer pueden instalarla conservado la versión anterior con la cual estén acostumbrados a trabajar, posteriormente cuando hayan tomado una decisión sobre que versión quieren utilizar definitivamente pueden desinstalar la restante.
En esta ocasión se presenta la nueva página (Pestaña) de descargas del blog, en ella van a poder encontrar links de descarga de software, manuales y los proyectos que se han desarrollado hasta el momento y que se seguirán desarrollando en el blog.
Esta nueva pestaña la pueden encontrar en la franja azul que se encuentra en la parte superior del blog, espero que sea de su agrado y ademas les sea de utilidad.
Como ya se ha recalcado bastante en ocasiones anteriores, uno de los mayores atractivos que tienen los microcontroladores PSoC es la posibilidad de trabajar con algunos elementos análogos (amplificadores operacionales) y la mejor manera de aprovechar al máximo esta cualidad es desarrollando aplicaciones en las que se utilicen estos amplificadores operaciones y en especial los bloques de capacitancias conmutadas, aplicaciones que no sería posible desarrollar con microcontroladores netamente digitales y que de querer hacerlos de manera convencional con amplificadores operacionales, condensadores y resistencias requerirían un espacio físico mayor en su implementación. Un ejemplo que permitiría explotar estos recursos mencionados anteriormente es la implementación de filtros análogos en PSoC y es precisamente este tema el que se va a desarrollar en esta entrada del blog.
Los filtros análogos en PSoC se pueden implementar de distintas maneras, una de estas es la manipulación y configuración directa de los bloques de capacitancias conmutadas que se encuentran dentro de la matriz de bloques análogos y la otra es utilizando los módulos de usuario que ya vienen pre-configurados para tan fin en PSoC Designer. En esta ocasión se van a utilizar los módulos de usuario ya que es la manera más sencilla para configurar los filtros en un comienzo.
PSoC Designer ofrece los siguientes módulos de usuario para implementar filtros análogos:
• BPF2 (Filtro pasa-banda de orden 2)
• BPF4 (Filtro pasa-banda de orden 4)
• ELPF2 (Filtro pasa-bajos elíptico de orden 2)
• ELPF4 (Filtro pasa-bajos elíptico de orden 4)
• LPF2 (Filtro pasa-bajos de orden 2)
• LPF4 (Filtro pasa-bajos de orden 4)
Para el ejemplo de esta entrada del blog se van a utilizar un filtro pasa-bajos y un pasa-banda ambos de segundo orden (LPF2 y BPF2), la frecuencia con la que pueden trabajar estos filtros depende directamente de la potencia con la que se configuren los mismos, llegando a ser hasta de 4MHz en el caso del filtro pasa-bajos configurado como High Power.
Parámetros de configuración:
Estos módulos de usuario cuentan con alrededor de once parámetros para configurar, sin embargo en un principio solo hay que preocuparse por configurar cuatro de ellos los cuales son:
• Input: configura el bloque o pin que se va a utilizar como entrada de señal del filtro.
• AnalogBus: habilita o deshabilita el bus de salida análoga, de esta manera se puede sacar del PSoC la señal resultante del filtro.
• CompBus: habilita o deshabilita la conexión con el bus del comparador y de esta manera permite la conexión con el sistema digital de PSoC.
• Polarity: configura la inversión o no inversión de la señal de la salida del filtro con respecto a la polaridad de la señal de entrada.
Los parámetros de configuración restantes son utilizados para definir las frecuencias de trabajo del filtro, para la configuración de estos se va a utilizar una herramienta muy útil y sencilla llamada wizard (figuras 1 y 2) que se puede encontrar haciendo click derecho sobre el bloque de los filtros, esta herramienta permite seleccionar la clase del filtro que se quiere utilizar (butterworth, chebyshev), la frecuencia de muestreo, la ganancia, la frecuencia de corte para el caso de los pasa-bajos o la frecuencia central y el ancho de banda para el caso de los pasa-banda.
(Figura 1. Wizard del filtro pasa-bajos)
(Figura 2. Wizard del filtro pasa-banda)
Luego de llenar las casillas disponibles en el wizard, se puede observar como cambian los valores de los condensadores los cuales eran los parámetros de configuración restantes, además de esto también se puede ver la gráfica que representa la respuesta esperada con esos valores de configuración.
Para visualizar los resultados ofrecidos por estos filtros, se implementaron un filtro pasa-bajos y un filtro pasa-banda con las especificaciones que se pudieron observar en los wizard presentándonos anteriormente (Figuras 1 y 2). A continuación se presentan una serie de imágenes con los resultados obtenidos para cada filtro donde la señal de color amarillo es la de entrada y la de color azul es la señal de salida del filtro.
Filtro Pasa-bajos:
• Frecuencia de corte = 14 KHz
• Frecuencia de muestreo = 1MHz
• Ganancia (db) = 0
• Clase de filtro = butterworth
(Figura 3. Frecuencia 1 KHz)
(Figura 4. Frecuencia 5 KHz)
(Figura 5. Frecuencia 10 KHz)
(Figura 6. Frecuencia 14 KHz)
(Figura 7. Frecuencia 20 KHz)
Filtro Pasa-banda:
• Frecuencia central = 14 KHz
• Ancho de banda = 6 KHz
• Frecuencia de muestreo = 400 KHz
• Ganancia (db) = 0
(Figura 8. Frecuencia 1 KHz)
(Figura 9. Frecuencia 5 KHz)
(Figura 10. Frecuencia 10 KHz)
(Figura 11. Frecuencia 14 KHz)
(Figura 12. Frecuencia 20 KHz)
(Figura 13. Frecuencia 30 KHz)
Observando los resultados se puede decir que teniendo en cuenta la sencillez de su implementación estos módulos son bastante eficientes, además si se quieren mejorar los resultados se pueden utilizar los módulos de filtros de cuarto orden.
NOTA: No hay que olvidar inicializar los módulos de usuario con los comandos:
LPF2_Start(X);
BPF2_Start(X);
Donde “X” es el valor de configuración de la potencia del modulo.
En esta ocasión he propuesto realizar una práctica de comunicación UART con PSoC, la idea principal es mostrar el funcionamiento del modulo de usuario UART, esto se llevara a cabo mediante un sencillo ejercicio en el cual se debe tomar el voltaje de un potenciómetro configurado como divisor de tensión, luego este valor de voltaje se debe convertir de análogo a digital mediante un modulo de usuario ADCINC para posteriormente enviarlo en formato hexadecimal a un Hyper Terminal.
En primera instancia se van a revisar los aspectos básicos de configuración para poder utilizar el modulo de usuario UART. Este modulo de usuario es un transmisor y receptor universal asíncrono (UART) compatible con el protocolo de comunicación RS232 en modo full duplex, está compuesto por dos bloques digitales los cuales son utilizados uno para transmisión (Tx) y el otro para recepción (Rx) que funcionan independientemente.
Reloj del modulo UART y velocidad de transmisión: El reloj con el cual se alimenta el modulo de usuario es el mismo para ambos bloques y la frecuencia de este debe ser 8 veces mayor a la velocidad de transmisión deseada, por ejemplo si se quiere transmitir a una velocidad de 9600 baudios es necesario que el reloj del modulo de usuario UART este configurado a 76.8 KHz, la tolerancia del reloj para un correcto funcionamiento es +/- 2%.
Rx input: Este parámetro se debe conectar a alguna de las filas de entrada de los bloques digitales y luego a alguno de los pines externos desde donde se va a tomar los datos que son enviados desde el computador.
Tx Output: Este parámetro se conecta a alguna de las filas de salida de los bloques digitales y luego al pin externo encargado de enviar la información al computador.
Tx Interrupt Mod: Este parámetro determina el momento en el que se genera la interrupción por medio del bloque Tx, se pueden escoger dos tipos de interrupciones
“TxRegEmpty” y “TxComplete”, la segunda opción es la más utilizada para casos en los que es necesario garantizar que el dato transmitido ha sido enviado por completo.
ClockSync: Permite establecer la fuente de reloj con la que se debe sincronizar el modulo de usuario.
Rx Output: este parámetro permite tomar el valor de entrada a uno de los buses del microcontrolador, esto puede ser útil para realizar funciones de verificaciones de datos.
Rx Clock Out y Tx Clock Out: Permite utilizar el reloj del bloque en otros procesos, hay que recordar que este reloj equivale al del modulo divido en 8.
RxCmdBuffer: Habilita o deshabilita el buffer para la recepción de comandos.
RxBufferSize: Determina el tamaño del buffer de recepción, este parámetro solo es valido cuando están habilitados el RxCmdBuffer y las interrupciones.
CommandTerminator: Determina el carácter o valor que al ser recibido señala el final de un comando.
Param_Delimiter: Determina el carácter utilizado para delimitar un parámetro por ejemplo con el valor 32 se termina que el delimitador es un espacio.
Aunque los parámetros mostrados anteriormente son los básicos para poner en funcionamiento el modulo UART, también son necesarios algunos comandos para la programación del mismo, estos comandos son utilizados para la inicialización del modulo, seleccionar el tipo de paridad, tomar y enviar diferentes tipos de datos, algunos de estos comandos se muestran a continuación, sin embargo es recomendable consultar la hoja de datos del modulo para profundizar el estudio de estos métodos.
• UART_Start(0): Este comando inicializa el modulo de usuario, el valor indicado dentro del paréntesis indica el tipo de paridad.
• UART_CPutString("PSoC En Español \n\r"): Este comando envía una cadena de caracteres.
• UART_PutSHexByte(Valor): Envía en formato Hexadecimal el valor indicado.
De ahora en adelante se muestra el proceso de desarrollo de la práctica mencionada anteriormente.
El primer paso es tomar la muestra del potenciómetro, para esto se utilizaron un modulo PGA con ganancia unitaria y un modulo ADCINC con una frecuencia de muestreo de 1562 muestras por segundo la cual puede ser baja para ejercicios con señales con altas frecuencias pero para la práctica que se está realizando en este momento es más que suficiente, luego de tener los dispositivos para convertir el valor análogo a un valor digital se procede a utilizar el modulo UART y a configurarlo como se puede apreciar en las figuras 1 y 2.
(Figura
1. Configuración de los parámetros del modulo)
(Figura
2. Interconexión del modulo con los pines externos)
Como se pudo observar en la figura 1, el reloj utilizado para alimentar el modulo UART es VC3 el cual está tomando el reloj del sistema (SysClk) y lo divide en 156 por lo tanto la frecuencia que proporciona VC3 es de 153,8 KHz y como ya se había mencionado la velocidad de transmisión es igual a la velocidad del reloj divido en 8 por lo tanto la velocidad a la que se va a transmitir en este ejercicio es de 19200 baudios.
Como existe una tolerancia de +/- 2% en la velocidad de transmisión no hay ningún inconveniente con la diferencia que se presenta entre los 19200 y los 19230.
El siguiente paso es escribir el programa para nuestra aplicación, en este código se deben inicializar los módulos de usuario, tomar las muestras con el convertidor análogo a digital y por ultimo enviar estos datos por medio del modulo UART. A continuación se presenta el código desarrollado para esta aplicación.
if(ADCINC_1_fIsDataAvailable()!=0)//se conprueba si hay un valos
disponible en el convertidor
{
UART_1_PutSHexByte(ADCINC_1_wGetData());//Se envia el valor del ADCINC en formato Hexa
UART_1_CPutString("\n\r");}//Se imprime un salto de linea
Delay10msTimes(50);//Retardo
de 500 milisegundos
}
}
Por último a continuación se presenta un vídeo donde es posible observar el proceso el funcionamiento de esta práctica.
NOTA: La recepción de datos por medio del modulo UART de PSoC se muestra en una publicación posterior, si quieren revisarla pueden hacerlo a través del siguiente link: RECEPCIÓN DE DATOS CON MODULO UART DE PSoC.