Como ya se menciona en el título, tengo una pregunta con respecto a esta pila de desarrollo:
Hay una imagen de cómo están conectadas las cosas (no creo que haya un problema):
Configuración de alimentación:
Hay un programa simple que estoy usando para probar:
/*
* File: main.c
* Author: Primoz
*
* PIC16F684
*
* Simple test program.
*/
#include <xc.h>
// CONFIG
#pragma config MCLRE = OFF // MCLR Pin Function Select bit (MCLR pin function is digital input, MCLR internally tied to V
#pragma config FOSC = INTOSCIO // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
#pragma config BOREN = OFF // Brown Out Detect (BOR disabled)
#pragma config IESO = OFF // Internal External Switchover bit (Internal External Switchover mode is disabled)
#pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is disabled)
void main()
{
TRISA = 0b111101;
PORTA = 0b000010;
for (;;)
{
;
}
}
Programé con éxito el dispositivo solo unas pocas veces. La mayoría de las veces obtengo este resultado:
Connecting to MPLAB PICkit 3...
Firmware Suite Version.....01.28.72
Firmware type..............Midrange
Target detected
Failed to get Device ID
Entonces mi pregunta es ¿cuál podría ser la razón de un comportamiento tan extraño? ¿Cómo puedo hacer que funcione?
Si necesita cualquier información adicional, por favor hágamelo saber...
Revisé si hay conexiones sueltas como las sugeridas por @ pjc50, no encontré ninguna.
Incluso pedí un nuevo encabezado y, para mi sorpresa, el problema aún no había desaparecido.
Después de muchas pruebas y errores, descubrí que funciona si configuro (en lugar de Voltage Level
) :4,875
5V
Sin promesas, pero personalmente he experimentado exactamente el mismo comportamiento más de cien veces.
Cada uno de ellos se arregló tirando mi cable de conexión y conectando uno nuevo.
Esto significa
Tus observaciones actuales pueden confundirte por completo; como el mío me confundió repetidamente cuando esto estaba pasando por aquí. Cuando considera los cables rotos que "a veces están ahí", la imagen se vuelve un poco más clara.
Por cierto, si...
.. entonces mi sospecha aumenta.
Nuevamente, no prometo nada, pero esto es lo que me sucedió en mi arreglo PIC24 con un ICD-3 y ocasionalmente un PICkit. Lo que estás describiendo es exactamente lo que observé.
Tengo un problema similar con el firmware 01.28.72. Cuando volví a 1.12.01 funcionó de nuevo.
Tuve el mismo problema, recibí mensajes de error como "Error al obtener la ID del dispositivo". Mi configuración es la placa de demostración de 44 pines con PIC16F887, Pickit 3 (versión de firmware 1.28.18) y MPLAB 8.88. Seguí el consejo de PrimosK, arriba, y fue justo en el dinero: Reduje el voltaje de los 5.0V predeterminados a 4.875V y todo funcionó. Pero también noté que MPLAB no mantiene la configuración y tuvo que volver a configurarla la próxima vez que inicié MPLAB. Buena suerte.
Tuve el mismo problema, trabajando con Pic16F883 y PicKitt3. Y ahora lo soluciono, enciendo la tarjeta objetivo con una fuente externa (5Vcd) y en las opciones del Proyecto --> Programador, desmarco la opción "POWER TARGET CIRCUIT FROM PICKKIT3", espero que esta información te ayude.
Me enfrenté a un problema similar. Tengo una placa controladora basada en 24FJ128GA308 con una pantalla COD de 128*64 interconectada y la placa se enciende externamente. Para una unidad recién fabricada (controlador no programado), cuando se invocaba la opción 'Programar', daba un error como "Error de programación: al PICkit 3 le falta un objeto de memoria". Intenté cambiar: con la placa del controlador encendida desde PICKit 3, todavía no funcionó. Luego, en la opción Programador, usé 'Hold in Reset' durante 2-3 segundos, lo solté, luego se programó 24F y la placa comenzó a funcionar Por cierto, tengo un circuito de reinicio correcto.-Chandrashekhar Joshi
pjc50
PrimosK
Wide operating voltage range (2.0V-5.5V)
, así que creo que 5V está bien, ¿verdad?pjc50
PrimosK