PIC16F1454: RA4 no funciona como entrada digital si no se deshabilita registro ANSELA

Haciendo unas pruebas con el PIC16F1454, encontré problemas al tratar de utilizar RA4 como entrada digital, tras repasar la hoja de datos y varios intentos, conseguí que funcionara: tuve que deshabilitar el bit 4 del registro ANSELA, aunque en teoría esto no debería ser necesario pues este microcontrolador no cuenta con entradas analógicas.

Este es mi código de pruebas (lo probé con XC8 1.21):

/* 
 * File:   TestIO.c
 * Author: José Jorge Enríquez
 *
 * Created on 21 de diciembre de 2013, 03:35 PM
 */
 
#include <xc.h>
 
#pragma config FOSC  = INTOSC
#pragma config MCLRE = OFF
#pragma config LVP   = OFF
#pragma config PLLEN = DISABLED
 
// For accessing ANSELA register
volatile unsigned char ANSELA @ 0x18C;
 
int main() {
    OSCCONbits.SPLLEN = 0;    // PLL disabled
    OSCCONbits.IRCF = 0b1101; // 4 MHz internal oscillator
    OSCCONbits.SCS = 0b00;    // Clock determined by configuration word
 
    TRISCbits.TRISC5 = 0;     // Led
    TRISAbits.TRISA4 = 1;     // Input
 
    ANSELA = 0x00;  // Disable analog inputs
                    // Needed for RA4 to work as digital input
 
    OPTION_REGbits.nWPUEN = 0; // Enable weak pull-ups
    WPUAbits.WPUA4 = 1;        // Enable pull-up on RA4
 
    while (1) {
        LATCbits.LATC5 = PORTAbits.RA4;
    }
 
    return 0;
}

La revisión del chip que estoy utilizando es 1005h, la más reciente es 1006h pero creo que tendrá el mismo detalle pues en la errata del chip no se menciona nada de esto.

¿A alguien más le ha ocurrido?

Microchip entra al terreno del reconocimiento de gestos en 3D

El día de ayer, Microchip anunció su nueva tecnología GestIC©, que posibilita el reconocimiento de gestos en 3D sin contacto para una gran gama de productos. El MGC3130 es el primer controlador de gestos 3D basado en campo eléctrico (E-field), ofreciendo seguimiento (tracking) de bajo consumo, rápido y robusto con reconocimiento de gestos.

Pueden ver una demostración en el video a continuación:


Continúa leyendo Microchip entra al terreno del reconocimiento de gestos en 3D

Microchip presenta su compilador XC32++


El día de hoy, Microchip ha anunciado su compilador de C++ gratuito y sin límite en la generación de código – el compilador MPLAB XC32++. El compilador MPLAB XC32++ soporta toda la línea de microcontroladores de 32 bits de Microchip. En el anuncio se comentó que este compilador permite a los diseñadores desarrollar y reutilizar proyectos C++ al poner disponibles todas las extensiones de Microchip al lenguaje C en un ambiente compatible con la mayoría de los estándares C++98 y C++2003. Además de incluir las bibliotecas C, C++ y templetes de Dinkumware©.
Continúa leyendo Microchip presenta su compilador XC32++

Microchip amplía su portafolio de microcontroladores USB


Microchip anunció una nueva línea de microcontroladores USB de 8 bits. Se trata de 15 nuevos microcontroladores divididos en tres familias: PIC16F145X (3), PIC18F2X/4XK50 (3) y PIC18FXXJ94 (9), con encapsulados de 14 hasta 100 pines.

La principal novedad es que todos estos microcontroladores incluyen un oscilador interno de mayor precisión que elimina la necesidad de agregar un oscilador externo para la comunicación USB, permitiendo ahorrar tanto en costo como en espacio.
Continúa leyendo Microchip amplía su portafolio de microcontroladores USB

MPLAB X 1.0 disponible para descarga

Según esta publicación en los foros de Microchip, ya está disponible para descarga la versión 1.0 (no Beta) del nuevo IDE de Microchip basado en NetBeans, lo pueden descargar desde el siguiente enlace:

http://ww1.microchip.com/downloads/mplab/X_Beta/index.html

El X_Beta en el enlace lo dejaron para no “romper” los enlaces existentes a la página de descarga.

Yo he creado un par de pequeños proyectos con este nuevo IDE, y debo decir que me gusta mucho más que el anterior, aunque quizá se deba a que he utilizado muy poco el original MPLAB y a mi familiaridad con entornos más “modernos”, de cualquier forma, a quien no lo haya probado, ¿qué espera?