warum kommt eine Fehlermeldung beim Hochladen ?
hängt es mit der Definition des internen Oszillators zusammen ?
Ich will ihn auf 1Mhz einstellen:
#pragma config FOSC = INTRC_CLKOUT// Oscillator Selection bits (INTOSC
oscillator: CLKOUT function on RA6/OSC2/CLKOUT pin, I/O function on
RA7/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT
disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT
disabled)
#pragma config MCLRE = ON // RE3/MCLR pin function select bit
(RE3/MCLR pin function is MCLR)
#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 = ON // Brown Out Reset Selection bits (BOR
enabled)
#pragma config IESO = ON // Internal External Switchover bit
(Internal/External Switchover mode is enabled)
#pragma config FCMEN = ON // Fail-Safe Clock Monitor Enabled bit
(Fail-Safe Clock Monitor is enabled)
#pragma config LVP = ON // Low Voltage Programming Enable bit
(RB3/PGM pin has PGM function, low voltage programming enabled)
// CONFIG2
#pragma config BOR4V = BOR40V // Brown-out Reset Selection bit
(Brown-out Reset set to 4.0V)
#pragma config WRT = OFF // Flash Program Memory Self Write
Enable bits (Write protection off)
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
#define _XTAL_FREQ 1000000
#include <xc.h>
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
#include <xc.h>
int main()
{
TRISA1 = 0;
while(1)
{
RA1 = 1;
__delay_ms(1200);
RA1 = 0;
__delay_ms(1200);
}
return 0;
}
diese Meldung kommt:
Device Erased...
Programming...
The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x7ff
configuration memory
program memory
Address: b3 Expected Value: 3fff Received Value: 0
Failed to program device
Michael S. schrieb: > Address: b3 Expected Value: 3fff Received Value: 0 > Failed to program device Lösch den Chip mal manuell.
wie wird OSCCON passend initialisert ? mit externem läufts auch nicht: #pragma config FOSC = HS // Oscillator Selection bits (INTOSC oscillator: CLKOUT function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config MCLRE = ON // RE3/MCLR pin function select bit (RE3/MCLR pin function is MCLR) #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 = ON // Brown Out Reset Selection bits (BOR enabled) #pragma config IESO = ON // Internal External Switchover bit (Internal/External Switchover mode is enabled) #pragma config FCMEN = ON // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is enabled) #pragma config LVP = ON // Low Voltage Programming Enable bit (RB3/PGM pin has PGM function, low voltage programming enabled) // CONFIG2 #pragma config BOR4V = BOR40V // Brown-out Reset Selection bit (Brown-out Reset set to 4.0V) #pragma config WRT = OFF // Flash Program Memory Self Write Enable bits (Write protection off) // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. #define _XTAL_FREQ 4000000
Michael S. schrieb: > wie wird OSCCON passend initialisert ? Du weißt nicht wie man bei einem alten PIC ein Register der Bank 1 beschreibt? Dann solltest du im PIC-Kurs nochmal auf den Anfang zurück.
den manuellen Erase hab ich jetzt hinbekommen indem ich mir den Erase Button mit Customize Toolbar angelegt habe, aber das hat - erwartungsgemäß - nichts gebracht. #hhinz: was ist denn überhaupt der OSCCON und warum muss man den initialiseren ? Da es mit dem externen Oszillator ja auch nicht geht, hat der Fehler vielleicht eine andere Ursache ? (warum müssen eigentlich immer welche die Anfänger diffamieren - dann braucht man doch gar nicht zu antworten ! Es gibt doch genug hilfsbereite Mitmenschen die in der Lage sind kurz und bündig die richtigen Antworten zu geben)
Michael S. schrieb: > Es gibt doch genug > hilfsbereite Mitmenschen die in der Lage sind kurz und bündig die > richtigen Antworten zu geben) Kaum.
Michael S. schrieb: > Address: b3 Expected Value: 3fff Received Value: 0 > Failed to program device Kann am der USB Verbindung liegen. Kabel tauschen, kein Hub, Verlängerung.... Das Kabel zum µC ist zu lang oder hat sonst wie Kontaktprobleme.
#teoderix: ich hab jetzt den Chip statt über einen Nullkraftsockel direkt ans Breadboard gesteckt und jetzt gehts ! danke für den Tip.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.