Entradas

Uso del código compensado con dispositivos PIC®

Imagen
Es una práctica común cuando se escriben cargadores de arranque y aplicaciones descargables para usar la función de compensación de código del compilador MPLAB® XC8 para asegurar que el código asociado con los vectores de reinicio e interrupción esté colocado correctamente. Sin embargo, al usar dispositivos PIC18 con el controlador de interrupción vectorial (VIC), debe tomar medidas adicionales para asegurarse de que los vectores de interrupción se coloquen como se espera. En este artículo, veremos cómo controlar el restablecimiento de su código y los puntos de entrada de interrupción para cualquier dispositivo PIC® de 8 bits que use interrupciones.

La figura (1a) muestra una representación simplificada de la memoria de programa de un PIC para un dispositivo PIC18 ordinario, con la dirección 0 en la parte superior. La dirección a la que se enviará el dispositivo al reiniciarse y las direcciones a las que se enviará el dispositivo en una interrupción de prioridad baja o alta se represen…

Construir un proyecto fuera de MPLAB® X IDE

Imagen
MPLAB® X IDE usa GNU Make como su herramienta de compilación. La instalación de MPLAB X IDE proporciona este programa. Las ubicaciones son:

donde vx.xx representa la versión.
MPLAB X IDE agrega automáticamente el directorio que contiene la marca a su propia variable de ruta. Si desea construir fuera del IDE, debe agregar el directorio a la variable de entorno PATH.
El Makefile en el directorio del proyecto MPLAB X IDE se puede llamar directamente para construir la configuración predeterminada:
$ make clean                                   Para eliminar todos los objetos intermedios y las imágenes finales
$ make                                            Para crear la imagen de producción (archivo Hex)
$ make TYPE_IMAGE = DEBUG_RUN Para crear la imagen de depuración (archivo COF / ELF)
Si el proyecto tiene más de una configuración, entonces:
$ make -f Makefile
CONF=Configuration clean
Para eliminar todos los objetos intermedios y las imágenes finales para la configuración
$ make -f Makefile

Ventana de control de versiones de Subversion

Imagen
Seleccione un archivo o carpeta versionados (por ejemplo, desde la ventana Proyectos, Archivos o Favoritos).
Elija Subversion> Mostrar cambios en el menú contextual.

1. Muestra archivos modificados local y remotamente.

2. Por defecto, muestra todos los archivos modificados localmente.

3. Muestra todos los archivos modificados remotamente.

4. Estado actualizado

5. Diff abre Diff Viewer.

6.Actualiza los archivos seleccionados del repositorio.

7. Confirma cambios locales en el repositorio.

8. Las acciones específicas del archivo están disponibles al hacer clic con el botón derecho: -Mostrar anotaciones: mostrar el autor y el número de revisión
-Historial de búsqueda: busca y compara múltiples revisiones
-Excluir de Commit: excluye un archivo cuando se realiza un commit
-Revertir modificaciones: especifique los parámetros para revertir cualquier cambio local a las revisiones mantenidas en el repositorio

Fuente: Subversion Versioning Window

Crear un proyecto en Atmel Studio 7

Imagen
Atmel Studio 7 tiene un asistente de Nuevo proyecto que lo guiará en la creación de un proyecto. Puede ingresar esto a través de las siguientes opciones:
Archivo> Nuevo> Proyecto desde el menú principal
Presiona Ctrl + Shift + N
Haga clic en el ícono Nuevo proyecto
La ventana del nuevo proyecto se abrirá. Este diálogo proporciona la opción de especificar el lenguaje de programación y la plantilla de proyecto que se utilizará.

Seleccione la opción 'GCC C Executable Project' de la lista de plantillas para generar un proyecto ejecutable básico. Déle un nombre como MyFirstProject e ingrese la ruta en la que desea que se guarde el proyecto en su computadora.
Haga clic en Aceptar.

Todos los proyectos de Atmel Studio pertenecen a una solución y, por defecto, Studio utilizará el mismo nombre para la solución y el proyecto recién creados. El campo del nombre de la solución se puede usar para especificar manualmente el nombre de la solución.

La casilla de verificación 'Crear di…

Atmel® Studio 7

Imagen
Atmel® Studio 7 es la plataforma de desarrollo integrada (IDP) para desarrollar y depurar aplicaciones de microcontroladores (MCU) basadas en SMART ARM® y AVR®. Studio 7 es compatible con todos los MCU AVR y SMART. Atmel Studio 7 IDP le ofrece un entorno sencillo y fácil de usar para escribir, construir y depurar sus aplicaciones escritas en C / C ++ o código ensamblador. También se conecta sin problemas a los depuradores y kits de desarrollo de Atmel.

Además, Atmel Studio incluye Gallery, una tienda de aplicaciones en línea que le permite ampliar su entorno de desarrollo con herramientas nativas y de terceros y plug-ins desarrollados por proveedores de software integrados. Atmel Studio 7 también puede importar sin problemas tus bocetos Arduino como proyectos C ++, proporcionando una ruta de transición simple de Makerspace a Marketplace.
Atmel Studio 7 Introducción

Características principales
Soporte para más de 300 dispositivos basados ​​en AVR y SMART ARM
Amplia biblioteca de código fu…

Control de versiones en MPLAB® X IDE

El control de versiones es un sistema para que los desarrolladores de software admitan el desarrollo colaborativo en un equipo y realicen un seguimiento de los cambios en el código fuente a través del tiempo de múltiples desarrolladores. MPLAB® X IDE admite el control de versiones a través de una variedad de herramientas de terceros. A continuación hay varios enlaces para ayudarlo a comenzar con estas herramientas. Esta lista no es exhaustiva, pero debe proporcionar un buen punto de partida.
Git
Sitio web Git Wikipedia Tutorial Git
Subversión®
Sitio web Subversión Wikipedia Tutorial Subversión
Mercurial
Sitio web Mercurial Wikipedia Tutorial Mercurial
CVS
Sitio web CVS Wikipedia Tutorial CVS
MPLAB X IDE se basa en la plataforma NetBeans.
Fuente: MPLAB® X IDE Version Control

Modo diferencial AVR® ADC

Imagen
Un convertidor analógico a digital (ADC) diferencial mide la diferencia de voltaje entre dos señales. Un ADC típicamente mide el voltaje entre la señal y la tierra, pero en el modo diferencial, el pin de tierra está realmente conectado a otra parte del circuito, por lo que el ADC puede medir la diferencia entre las dos señales. Esto se usa a menudo para medir una señal pequeña con un desplazamiento grande. El uso de una entrada diferencial permite que el ADC mida una porción más pequeña de la señal.
Configuración diferencial
Las entradas diferenciales se ejecutan a través de un amplificador de ganancia para aumentar el tamaño de la señal al convertidor. Algunos dispositivos AVR® tienen pasadores con ganancia ajustable. Cuando se utilizan canales de ganancia diferencial, se deben tener en cuenta ciertos aspectos de la conversión. Los canales diferenciales no deben utilizarse con un voltaje de referencia analógico (AREF) inferior a 2 V. En los dispositivos AVR, las conversiones diferenci…

Modos de funcionamiento del convertidor analógico a digital AVR®

Imagen
Los modos de operación de los periféricos de conversión analógica a digital (ADC) AVR® son solo algunas de las características que ofrece este periférico. Consulte la sección ADC de la hoja de datos del dispositivo que ha seleccionado para obtener más detalles.
Modo de conversión simple
Se inicia una única conversión escribiendo un bit ADC de reducción de potencia en el registro de reducción de potencia PRR0.PRADC y escribiendo un 1 en el bit de conversión de inicio de ADC en el registro de control y estado de ADC ADCSRA.ADSC. El bit ADCS permanecerá alto mientras la conversión esté en progreso, y el hardware lo borrará cuando se complete la conversión. Si se selecciona un canal de datos diferente mientras una conversión está en progreso, el ADC terminará la conversión actual antes de realizar el cambio de canal.

Modo de disparo automático
Una conversión puede ser activada automáticamente por varias fuentes. El disparo automático se activa al configurar el ADC Auto Trigger Habilite el bi…

Modo de reducción de ruido AVR® ADC

Imagen
Los dispositivos AVR® tienen un modo de reducción de ruido del convertidor analógico a digital (ADC), que detiene la CPU y todos los módulos de E / S, excepto el temporizador asincrónico, PTC y ADC, para minimizar el ruido de conmutación durante las conversiones ADC. Se usa cuando se requiere una medición de ADC de alta resolución. Las mediciones de ADC luego se implementan cuando el núcleo se pone a dormir.
Entrar / Salir de Reducción de ruido ADC
La instrucción SLEEP hace que la MCU ingrese al modo de reducción de ruido ADC, deteniendo la CPU pero permitiendo que el ADC, las interrupciones externas, la vigilancia de la dirección de la interfaz serie de dos hilos, Timer1 y Watchdog continúen funcionando (si está habilitado). Este modo de suspensión básicamente detiene clkI / O, clkCPU y clkFLASH, mientras permite que los otros relojes se ejecuten. Esto mejora el ambiente de ruido para el ADC, permitiendo mediciones de mayor resolución. Si el ADC está habilitado, una conversión se inic…

Interfaz de periféricos serie AVR® (SPI)

Imagen
El protocolo Serial Peripheral Interface (SPI) en los dispositivos AVR® permitirá que su microcontrolador AVR se comunique con otros muchos dispositivos al mismo tiempo. Use el bus SPI para comunicarse entre un dispositivo maestro y uno o múltiples dispositivos esclavos. SPI utiliza las líneas Master In Slave Out (MISO) y Master Out Slave In (MOSI) para comunicarse entre dispositivos, el Serial Clock (SCK) para mantener un reloj constante entre dispositivos y la línea Slave Select (SS) para seleccionar qué dispositivo periférico es comunicarse con el dispositivo maestro.
Sistema SPI
El sistema consta de dos registros de desplazamiento y un generador de reloj maestro. El maestro SPI inicia el ciclo de comunicación cuando tira hacia abajo del pin SS del esclavo deseado. Master y Slave preparan los datos que se enviarán en sus respectivos registros de desplazamiento, y el Master genera los pulsos de reloj requeridos en la línea SCK para intercambiar datos. Los datos siempre se cambian de …

Construyendo Bibliotecas XC8

Las versiones recientes de MPLAB® X IDE ahora le permiten crear proyectos de librería para el compilador MPLAB XC8. El proceso de creación y construcción de un proyecto de librería para este compilador es el mismo que el de los otros compiladores MPLAB XC, y ese proceso se analiza en el artículo aquí. Sin embargo, existen algunas diferencias sutiles entre las librerías producidas por MPLAB XC8 y las de los otros compiladores de Microchip. Estas diferencias se discuten en este artículo.
Los archivos de librería MPLAB XC8 usan su propio formato, que es diferente al producido por los otros compiladores MPLAB XC y que también es diferente al utilizado por el compilador MPLAB C18 heredado. Las librerías MPLAB XC8 usan la extensión .lpp. No cambie el nombre ni especifique estos archivos para usar cualquier otra extensión, como .lib. El IDE producirá una librería con la extensión correcta cuando construya un proyecto de librería. Si su proyecto se llama MyLib, el archivo de la librería de sa…

Usando GPIO en MPLAB® X con MCC

Imagen
Los pines de entrada / salida de propósito general (GPIO) en una MCU PIC® de 8 bits dentro de MPLAB® X son bastante fáciles de configurar y usar gracias a la interfaz simple de la herramienta MPLAB Code Configurator (MCC). Como entrada, GPIO puede usarse para cosas como llevar información del sensor al chip. Como salida, GPIO puede usarse para enviar información a diferentes actuadores, como LED o motores. Muchos de los pines de E / S comparten una conexión con otros periféricos en el dispositivo, pero esta discusión se centrará en usarlos como GPIO.
Bloqueo de pines como GPIO
El primer paso para usar un pin GPIO es seleccionar la conexión de periféricos dentro del microcontrolador. En el MCC dentro de MPLAB X, los pines se pueden conectar a las líneas de señal a través del uso de la ventana MCC Pin Manager, que es el menú más a la derecha de la pantalla del MCC. Para conectar un pin en particular a una línea de señal particular para usar como un pin GPIO, busque las dos filas denomin…

Configurador de código MPLAB® (MCC) - Herramienta CLC

Imagen
El Configurador de código MPLAB® (MCC) incorpora la herramienta de GUI Celda logica configurable (CLC). Cuando se utiliza un dispositivo con el periférico CLC y se selecciona el periférico CLC dentro del MCC, aparecerá la herramienta CLC y se podrá generar el código para el dispositivo. Consulte el artículo en la herramienta GUI de CLC para obtener más detalles sobre cómo usarlo.

La herramienta MCC CLC solo puede generar código C, mientras que la herramienta GUI CLC independiente puede generar código C y código ensamblador MPASM para el dispositivo.
Fuente: MPLAB® Code Configurator (MCC) - CLC Tool

Recursos del proyecto MCC

Imagen
Cuando se inicia un proyecto MPLAB® Code Configurator (MCC), tres recursos o módulos estándar del proyecto están siempre presentes. Estos tres recursos son:
Módulo de sistema
Módulo Pin
Módulo de interrupción
Módulo de sistema
El Módulo del sistema es donde se establecen algunas de las configuraciones básicas. El tipo de oscilador y la velocidad se seleccionan junto con el temporizador de vigilancia. La programación de baja tensión se puede seleccionar junto con la fase de bucle bloqueado (PLL) para una mayor velocidad de oscilación. Esta pantalla de configuración básica inicia la configuración de sus proyectos.

Módulo Pin
El Módulo Pin es donde los pines de E / S están configurados. Esto funciona estrechamente con la interfaz gráfica de Pin Manager que le permite bloquear o desbloquear conexiones de E / S. Establezca un pin en una entrada digital, salida digital o pin analógico al verificar los bloques adecuados en la pantalla de configuración del Pin Module.
Las pull-ups débiles (WPU) tamb…

Configurador de código MPLAB® (MCC)

Imagen
Al comenzar un nuevo proyecto con los microcontroladores PIC16, PIC24 o PIC32, la configuración y todos los periféricos pueden consumir mucho tiempo, especialmente para proyectos nuevos. El MPLAB® Code Configurator (MCC) es un complemento para MPLAB X IDE que simplifica esto hasta una serie de selecciones simples de los menús dentro del MCC. El MCC genera código de controlador utilizando una interfaz gráfica de usuario (GUI). Los controladores generados controlan los periféricos en los microcontroladores PIC®. La GUI proporciona un medio sencillo para configurar la configuración de los periféricos.
Además, el MCC se usa para configurar y generar bibliotecas, lo que le permite configurar y generar código para bibliotecas de software y periféricos fuera de chip. Los controladores o bibliotecas generados se pueden usar en cualquier programa de aplicación de dispositivo PIC.
El MCC requiere la creación de un proyecto MPLAB X IDE o la apertura de un proyecto existente antes de iniciar el co…

Instrucciones de configuración de PICkit ™ 4

Imagen
El depurador en circuito MPLAB® PICkit ™ 4 permite la depuración y programación rápida y sencilla de los controladores de señal digital dsPIC® (DSC), PIC® y los microcontroladores AVR® flash a un precio asequible, utilizando la poderosa interfaz gráfica de usuario de MPLAB X Entorno de desarrollo integrado (IDE).
Microchip direct
Contenidos del paquete
MPLAB PICkit 4 Depurador / programador en circuito
Cable USB a micro-B USB
Tarjeta de garantía
Dos pegatinas MPLAB PICkit 4
Requisitos del sistema
MPLAB X IDE versión 4.15 o posterior
Sistema compatible con PC con procesador Intel® Pentium® o superior, o equivalente
Puerto USB disponible
Microsoft Windows® 7 o posterior, sistemas operativos macOS® y Linux®
El PICKit 4 es compatible con MPLAB X IDE versión 4.15 y superior. Descargar ahora.
El depurador / programador en circuito MPLAB PICkit 4 admite muchas, pero no todas, las MCU PIC y los DSC DSC en el momento de redactar este documento. El firmware se actualiza continuamente para agregar soporte…

Juego de instrucciones PIC® MCU de 8 bits de línea de base

Imagen
Esto se aplica a las familias PIC10F2xx, PIC12C5xx, PIC12F5xx, PIC16C5xx y PIC16F5xx.
Operaciones orientadas a bytes

Operaciones orientadas a bits


Literales y control de operación

Notas
1.El noveno bit del contador del programa será forzado a '0' por cualquier instrucción que se escriba en la PC a excepción de GOTO.
2.Cuando un registro de E / S se modifica como una función de sí mismo (por ejemplo, MOVF PORTB, 1), el valor utilizado será ese valor presente en los propios pines. Por ejemplo, si el enganche de datos es '1' para un pin configurado como entrada y es conducido bajo por un dispositivo externo, los datos se escribirán con un '0'.
3.La instrucción TRIS f, donde f = 5, 6 o 7 hace que los contenidos del registro W se escriban en los pestillos tri-estado de PORTA, B o C, respectivamente. Un '1' fuerza al pin a un estado de alta impedancia y desactiva los búferes de salida.
4.Si esta instrucción se ejecuta en el registro TMR0 (y, cuando corresponda, d =…

SAM D21 Xplained Pro Kit de evaluación

Imagen
El kit de evaluación SAM D21 Xplained Pro utiliza una MCU ATSAMD21J18A. Incluye un botón de usuario y un LED, dos conectores USB micro-B (uno para programa / depuración), un conector de medición de corriente y tres conectores para conectar las extensiones Xplained Pro.
Esta placa tiene un programador / depurador a bordo. No se requiere ningún programador / depurador externo (por ejemplo, emulador SAM-ICE ™).

Guía del usuario (descripción de la placa y esquemas) y documentación de diseño:
Pagina del producto
Proyectos de ejemplo de Atmel® START:
Ejemplos START
Microchip Direct
Tienda
La I / O Xplained Pro es una extensión de la plataforma de evaluación Xplained Pro. Incluye una tarjeta microSD, un sensor de temperatura, un sensor de luz y más.
Atmel® START proyectos de ejemplo para esta placa
A partir de marzo de 2018, hay 69 proyectos de ejemplo START que usan esta placa. Para encontrar todos los proyectos de ejemplo disponibles actualmente relacionados con esta placa, vaya a la página de …

Protocolo I²C

Imagen
Selección de chip I²C


El bus I²C selecciona un dispositivo de destino por su dirección. En algunos casos, un dispositivo puede tener una dirección fija, lo que significa que solo un dispositivo de ese tipo puede aparecer en el bus. Sin embargo, en la mayoría de los casos, la dirección de un dispositivo está determinada por su configuración de hardware. En la imagen de arriba, se representa una EEPROM serie 24LC256 que muestra sus tres pines de selección de chip que corresponden a los tres bits de dirección en la señal I²C. La dirección a la que responderá el dispositivo depende de qué clavijas estén conectadas al suministro positivo y qué clavijas estén conectadas a tierra.
Condiciones de inicio y detención de I²C

Por lo general, los datos en la línea I²C SDA solo pueden cambiar los estados cuando la línea SCL (reloj) es baja. Esto se debe a que las transiciones en la línea SDA mientras que la línea SCL es alta tienen significados especiales.

Condición de inicio
Una condición de inicio…