Hallo, ich habe einen dsPIC33EP512GM306 ein Pickit 3 und nutze MPLAB X IDE. Ich kann den µC zwar debuggen, wenn ich ihn aber programmiere scheint er garnicht erst zu starten. Die plausibelste Lösung wäre wohl ein falsch gesetztes configuration bit, aber im Datenblatt kann ich kein debug bit finden. Das einzige was mit debuggen zu tun hat ist das JTAG bit. Aber wenn ich das deaktivere, dann würde ich mich meiner Einschätzung nach selbst aussperren. Weiß jemand was ich falsch mache? Vielen Dank im voraus!
Meist falsch Beschaltung vom Master Clear Input. Da der Debugger den aktiv setzt funktioniert ohne ordentliche Schaltung der PIC Nicht wenn er ohne PicKit läuft. Entweder MCLR im den config bits disablen oder Schaltung dran. mfG Michael
dsPIC newbie schrieb im Beitrag #4940140: > Pickit 3 Der Pickit 3 nutzt nicht JTAG sondern eines der PGED/PGEC Pärchen und MRST#. Damit der Prozessor auch ohne Pickit funktioniert, braucht er einen 10k Pullup an MRST# und das Programm muß mit "run" und nicht mit "debug" übersetzt werden. MfG Klaus
Hallo Michael_O, vielen Dank für deine Antwort! MCLR ist so wie im Datenblatt vorgeschlagen beschaltet. (http://ww1.microchip.com/downloads/en/DeviceDoc/70000689d.pdf , Seite 20) Parallel ist MCLR direkt mit dem Pickit 3 verbunden. Solange das Pickit also nicht "hart" auf 0 schaltet, sollte kein Reset stattfinden. Wenn ich das Pickit entferne startet der dsPIC auch nicht.
Hallo Klaus, auch an dich vielen Dank für deine Antwort! Ich habe JTAG nun deaktiviert, aber weiterhin läuft er nur beim debuggen. Ich probiere es sowohl mit der Schaltfläche "Run Main Project" als auch mit "Make and Program Device Main Project" zu starten. In den Projekteigenschaften habe ich nichts über eine Übersetzungsart gefunden.
Das hier sind die config bits:
1 | // FICD
|
2 | #pragma config ICS = PGD1 // ICD Communication Channel Select bits (Communicate on PGEC1 and PGED1)
|
3 | #pragma config JTAGEN = OFF // JTAG Enable bit (JTAG is disabled)
|
4 | |
5 | // FPOR
|
6 | #pragma config BOREN = ON // (BOR is enabled)
|
7 | #pragma config ALTI2C1 = OFF // Alternate I2C1 pins (I2C1 mapped to SDA1/SCL1 pins)
|
8 | #pragma config ALTI2C2 = OFF // Alternate I2C2 pins (I2C2 mapped to SDA2/SCL2 pins)
|
9 | #pragma config WDTWIN = WIN25 // Watchdog Window Select bits (WDT Window is 25% of WDT period)
|
10 | |
11 | // FWDT
|
12 | #pragma config WDTPOST = PS32768 // Watchdog Timer Postscaler bits (1:32,768)
|
13 | #pragma config WDTPRE = PR128 // Watchdog Timer Prescaler bit (1:128)
|
14 | #pragma config PLLKEN = ON // PLL Lock Enable bit (Clock switch to PLL source will wait until the PLL lock signal is valid.)
|
15 | #pragma config WINDIS = OFF // Watchdog Timer Window Enable bit (Watchdog Timer in Non-Window mode)
|
16 | #pragma config FWDTEN = ON // Watchdog Timer Enable bit (Watchdog timer always enabled)
|
17 | |
18 | // FOSC
|
19 | #pragma config POSCMD = NONE // Primary Oscillator Mode Select bits (Primary Oscillator disabled)
|
20 | #pragma config OSCIOFNC = OFF // OSC2 Pin Function bit (OSC2 is clock output)
|
21 | #pragma config IOL1WAY = ON // Peripheral pin select configuration (Allow only one reconfiguration)
|
22 | #pragma config FCKSM = CSDCMD // Clock Switching Mode bits (Both Clock switching and Fail-safe Clock Monitor are disabled)
|
23 | |
24 | // FOSCSEL
|
25 | #pragma config FNOSC = FRCDIVN // Oscillator Source Selection (Internal Fast RC (FRC) Oscillator with postscaler)
|
26 | #pragma config PWMLOCK = ON // PWM Lock Enable bit (Certain PWM registers may only be written after key sequence)
|
27 | #pragma config IESO = ON // Two-speed Oscillator Start-up Enable bit (Start up device with FRC, then switch to user-selected oscillator source)
|
28 | |
29 | // FGS
|
30 | #pragma config GWRP = OFF // General Segment Write-Protect bit (General Segment may be written)
|
31 | #pragma config GCP = OFF // General Segment Code-Protect bit (General Segment Code protect is Disabled)
|
OK, der Fehler dürfte gefunden sein: Die Hardware hat einen Fehler und zieht das Signal auf 0. Vielen Dank für eure Hilfe!!!
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.