mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Letzte Hoffnung: PIC


Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich laborier schon seit langem an der Inbetriebnahme einer Schaltung mit 
einem PIC24HJ128GP206 rum. Den PIC konnte ich vor Einlöten nicht testen 
und dazu kommt das ich bisher Atmel programmiert hab (vom C166 mal 
abgesehen) und schon bisl eingerostet bin. Also ich hab nach 
hochtrabenden Zielen versucht einen einzigen Pin gezielt auf High zu 
setzen - ohne Erfolg. Könnte mir jemand mit einem Programm weiterhelfen 
das mir einfach nur einen Pin auf High zieht? Denn ich bin nicht mehr 
sicher ob der Fehler vor der Tastatur sitzt oder aber der Chip kaputt 
oder mein Layout falsch ist.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ADC-taugliche Pins sind ab Reset nur dafür verwendbar. Müssen als I/O 
erst umkonfiguriert werden.

Das Richtungsregister (TRIx) funktioniert genau umgekehrt wie beim Rest 
der Welt.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Umstieg von AVR auf PIC (und umgekehrt) kann schon
recht schmerzhaft sein. Bei den PIC24 weiß ich es grade
nicht, aber bei PIC16/18 müssen die Register für die
Datenrichtung genau umgekehrt initialisiert werden.
Das heißt eine 0 bedeutet Ausgang. Die nächste Schweinerei
könnten im Default aktive ADC- oder Komparatoreingänge sein.
Die muß man erst auf Digital IO umschalten.

Autor: Alex Bürgel (Firma: Ucore Fotografie www.ucore.de) (alex22) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mich meinen Vorrednern nur anschließen.
Überprüf auch, ob dein Programmiergerät den PIC vielleicht im Reset 
festhält.

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nutze das PICkit 2 - allerdings schließe ich den nur zum 
programmieren an - danach zieh ich den ab - Reset ist es nicht.
Ich hab schon X Konfigurationsmöglichkeiten ausprobiert, bin über diese 
miese prioritätsabhängige Mehrfachnutzung gestolpert und und und - aber 
ich habs nicht hinbekommen - daher hoffte ich hier auf ein Programm das 
funktioniert.

Autor: kurz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In welcher Sprache programmierst Du denn?

Bei C sind immer leichte, anschauliche und funktionierende 
Beispielprogramme dabei. Da hast Du wenig Arbeit. Die Programme sind 
entweder beim Compiler dabei oder bei Microchip zu holen.

Assembler würd ich mir nicht antun. Da mußt Du all das beachten, was die 
Vorredner schon erwähnt haben. Das ist überflüssig. Im Compiler ist das 
alles schon mal erfunden worden.

Autor: Master Snowman (snowman)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ich hab mal nur schnell einen PIC24 ausgepackt und via SPI 6 7segmente 
angesteuert. schau mal rein, vielleicht findest du ein paar ideen, warum 
dein code nicht funktioniert (wäre sowieso angebracht den hier zu posten 
- raten macht nämlich nicht so spass)

ansosten:
www.engscope.com/pic24-tutorial
www.flyingpic24.com
www.sprut.de

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich nutze mittlerweile C - ASM wird irgendwann einfach zuviel 
gefrickel ;)


mein Code sieht wie folgt aus:
#include "p24HJ128GP206.h"

_FOSCSEL( FNOSC_FRCPLL & IESO_OFF )
_FOSC ( FCKSM_CSDCMD & FCKSM_CSDCMD & POSCMD_NONE )

int main(void) {

   //ODCG |= 0xF3CF; // Only RG6..9 (CN8..11) pins have internal pull-up resistors which have to be enabled by setting the CNPU8..11 bits
//ODCG &= 0x0000;

TRISG = 0x0000;
Nop(); // Required if a port/latch is accessed in a next command
LATG = 0xFFFF;

while(1) {

}
   // return 0; // Don't do that in a non-OS MCU environment
}

Ich dachte eigentlich das ich nun an einem beliebigen Pin der Gruppe G - 
zum Beispiel Pin 1

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Such beim ADC mal nach AD1PCFG. Vielleicht fällt dann der Groschen.

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Such beim ADC mal nach AD1PCFG. Vielleicht fällt dann der Groschen.

ja - darauf bin ich auch schon reingefallen - allerdings beschreibt das 
Datenblatt Pin 1 (RG15) als normalen digitalen Pin - der hat keinerlei 
gemultiplexte Funktion - auch nicht Analogpin - von daher dachte ich ich 
bräuchte das nicht ... :-/

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Ports/Pins hatte ich jetzt nicht eigens kontrolliert. Mag sein, 
dass Port G digital ist. Dann sollte das klappen.

Oder es gibt noch so eine Schönheit, diesen Typ habe ich nicht 
verwendet. Beim STM32 ist beispielsweise jedes Peripheriemodul von Haus 
aus erst einmal zentral abgeschaltet um Strom zu sparen.

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
benützt du wirklich einen RC-oscillator? und bei _FOSC übergibst du von 
3 nötigen argumenten nur 2 (2 von deinen 3 sind ja gleich).

allgemein: entweder man definiert die register über das cklick-down im 
MPLAB oder man definiert sie im code (letzteres ist für eine 
portierbarkeit viel angenehmer). du definierst nur einen bruchteil im 
code: was ist mit den anderen?

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die anderen bleiben unbetastet.

was ich vorhabe is den internen Oszillator zu nutzen - welche 
einstellung wäre denn richtig?

Ich kann das auch komplett über das clickdown-menü machen - mich stört 
halt das man davon nichts im code sieht.

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> was ich vorhabe is den internen Oszillator zu nutzen - welche
> einstellung wäre denn richtig?

Am besten erst mal ohne PLL, ich bin nicht sicher ob da nicht noch was 
konfiguriert werden muss.

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
im anhang meine config - das ist doch zum mäusemelken :-(

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich mache es auch lieber im code: aber wenn man's im code macht, dann 
vollständig (damit meine ich alle einstellungen definieren und nicht wie 
du nur den takt)

schau dir mal die "p24HJ128GP206.h" an, da siehst du, wie du was 
definieren kannst (auch deinen takt)


so, ich konnts nicht lassn, und hab ma schnell mei demoboard rauskramt 
und das hier funktioniert (halt mit nem leicht anderen PIC, dem ..306, 
und einem 10MHz-quarz). der pin RG6 sollt blinkn, waser bei mia auch tut 
:-)
#include "p24HJ128GP306.h"
#include <libpic30.h>

_FBS(RBS_NO_BOOT_RAM & BSS_NO_BOOT_CODE & BWRP_WRPROTECT_OFF);  // Boot Segment
_FSS(RSS_NO_SEC_RAM & SSS_NO_SEC_CODE & SWRP_WRPROTECT_OFF);  // Secure Segment
_FGS(GSS_OFF & GCP_OFF & GWRP_OFF);                // Code/Write Protect
_FOSCSEL(FNOSC_PRIPLL & IESO_OFF);                // Oscillator
_FOSC(FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMD_XT);          // Clock
_FWDT(FWDTEN_OFF & WINDIS_OFF);                  // Watchdog
_FPOR(FPWRT_PWR1);                        // Power-on Reset Value
//_FICD(BKBUG_OFF & COE_OFF & JTAGEN_OFF & ICS_PGD1);        // Register FICD (with debugger)
_FICD(BKBUG_OFF & COE_ON & JTAGEN_OFF & ICS_NONE);        // Register FICD (without debugger)


int main(void) {

  //ODCG |= 0xF3CF; // Only RG6..9 (CN8..11) pins have internal pull-up resistors which have to be enabled by setting the CNPU8..11 bits
  //ODCG &= 0x0000;
  
  TRISG = 0x0000;
  Nop(); // Required if a port/latch is accessed in a next command
  LATG = 0xFFFF;
  
  while(1) {
    LATGbits.LATG6 = 1;
    __delay32(10000000);
    LATGbits.LATG6 = 0;
    __delay32(10000000);
  }
}   // return 0; // Don't do that in a non-OS MCU environment


edit: wenn du im obigen bild das häckchen "Configuration Bits set in 
code" anklickst, werden die configs im code ignoriert und diese (im 
bild) genommen.

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mmhkay

also ich hab erst RG6 gemessen mit deinem Prog und danach das Ganze auf 
RG15 umgeschrieben. Also ich krieg den Pin (6 oder 15) nur auf 0,6 V 
gezogen - Pullup defekt?

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm.. 1. wie misst du: multimeter/oszi? und 2. was misst du: 
belasteter/unbelasteter pin? (falls belastet: wie belastet?)

pullup? wie meinst du das resp. was hast du am pin wie ran gemacht?

du weisst aber schon, dass der pin nur max. 4mA treiben/ziehen kann?! 
also du nur eine lowcurrent-LED verweden kannst; oder dann einen treiber 
dazwischen schalten.

ps: nur den programmer abziehen genügt nicht, dass der PIC läuft; er 
muss auch auf nicht-debuggen programmiert sein (wähle im MPLAB dazu 
"release mode")

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pin VCAP/VDDCORE mit einem 4,7 bis 10µF Kondensator beschaltet?

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
gemessen mit nem Multimeter

Anbei meine Schaltung

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also was jetzt? PIC24FJ*006 (Bild) oder PIC24HJ*206 (Text)?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und dass der Core ein Vmax von 2,8V hat, hier aber 3,3V abkriegt, das 
stört dich auch nicht?

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
206 - das Bild hat auch teilweise falsche Pinbeschriftungen - aber die 
wichtigen Pins für /MCLR und PGCx/PGDx sowie Versorgung sind gleich

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Und dass der Core ein Vmax von 2,8V hat, hier aber 3,3V abkriegt, das
> stört dich auch nicht?

Arg - übersehen - morgen auf arbeit mal nen spannungsteiler ranbasteln.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jonas Arndt schrieb:

> Arg - übersehen - morgen auf arbeit mal nen spannungsteiler ranbasteln.

Du brauchst keinen Spannungsteiler oder -Regler, sondern eine Brille. 
Nämlich für's lesen vom Datasheet, in dem drinsteht, wie man das Teil 
korrekt mit Strom versorgt. Der Regler ist ja da schon drin, nur muss 
man den auch korrekt verwenden.

Und wenn du Pech hast brauchst du auch einen neuen Controller. Die 
2,8V/3,0V (je nach Typ) sind nämlich das absolute Maximum und was in 
dieser Beschaltung bei bei ENVREG=offen passiert wissen nur die Götter.

Einfach nach dem Motto vorgehen, das wird schon genauso sein wie bei 
Atmel, brauch ich nicht erst nachzusehen, das funktioniert nicht.

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Jonas Arndt schrieb:
>
>> Arg - übersehen - morgen auf arbeit mal nen spannungsteiler ranbasteln.
>
> Du brauchst keinen Spannungsteiler oder -Regler, sondern eine Brille.
> Nämlich für's lesen vom Datasheet, in dem drinsteht, wie man das Teil
> korrekt mit Strom versorgt. Der Regler ist ja da schon drin, nur muss
> man den auch korrekt verwenden.
>
> Und wenn du Pech hast brauchst du auch einen neuen Controller. Die
> 2,8V/3,0V (je nach Typ) sind nämlich das absolute Maximum und was in
> dieser Beschaltung bei bei ENVREG=offen passiert wissen nur die Götter.
>
> Einfach nach dem Motto vorgehen, das wird schon genauso sein wie bei
> Atmel, brauch ich nicht erst nachzusehen, das funktioniert nicht.

Zugegeben da hab ich echt mist gebaut - danke für die erleuchtung ;)

aber was zum henker ist envreg?

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Enable Voltage Regulator. Der PIC hat eine internen LDO den du damit 
aktivieren kannst. Allerdings brauchst dann eine Kerko am PIN VDDCORE.

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thorsten schrieb:
> Enable Voltage Regulator. Der PIC hat eine internen LDO den du damit
> aktivieren kannst. Allerdings brauchst dann eine Kerko am PIN VDDCORE.

Also ich kann kein Enablebit oder ähnliches finden.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und ich sag doch du brauchst eine Brille. Guck in die Schaltung. ENVREG.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und lies das verdammte Datasheet bevor du die nächste Frage dazu 
stellst.

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ENVREG ist ein Pin und kein Bit.

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also Jungs - ich hab extra nochmal das neue Datenblatt geladen

http://ww1.microchip.com/downloads/en/DeviceDoc/70175H.pdf

das ist für diesen chip verlinkt auf microchip.com

Die haben 2009 nen neues rausgebracht wie ich sehe.

Allerdings finde ich in dem ganzen Datenblatt und auch in der Voltage 
Regulator Section nichts über diesen ominösen Pin. Außerdem verbitte 
halte ich solch einen Tonfall für unangebracht.

Und auf den ENVREG-Pin in meinem Schaltplan zurückzukommen - warum ist 
da wohl keine Pinnummer dran?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Schaltbild mit dem falschen Chip hat einen solchen Pin jedenfalls.
Es ist Kap 21.2 gemeint.

Wer im Schaltplan den falschen Chip der falschen Chipfamilie mit etwas 
anderen Pins postet, der sollte sich über die entsprechenden Kommentare 
nicht wundern.

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Dein Schaltbild mit dem falschen Chip hat einen solchen Pin jedenfalls.
> Es ist Kap 21.2 gemeint.
>
> Wer im Schaltplan den falschen Chip der falschen Chipfamilie mit etwas
> anderen Pins postet, der sollte sich über die entsprechenden Kommentare
> nicht wundern.

Ich denke vl sollten sich hier einige eher überlegen ob der Ton 
angemessen ist. Vorallem wenn mir jemand erklärt das er den Pin nirgends 
finden kann würde ich zumindest mich rückversichern via Datenblatt und 
nicht denjenigen beleidigen - Danke an alle für die Hilfe

Autor: Master Snowman (snowman)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so, jetzt ist fertig mit schlammschlacht, schliess einfach die folgenden 
pins so an
Pin 10, (19), 26, 38, 57 sind an VDD zu schliessen = +3.3V
Pin 9, (20), 25, 41 sind an GND zu schliessen
Pin 39, 40 einen quarz (vorteilhaft 10MHz) mit je 2 kondensatoren
Pin 56 = VDDCORE einen tantal-kondensator mit 10uF

die pins in klammern sind die referenzspannungen für den ADC, falls du 
den gleich mit GND/VCC betreiben willst

VDDCORE ist der pin des internen spannungreglers, der zur 
spannungsstabilisierung einen kondensator braucht (darum der 10uF)

ps: das nächste mal liesst du bitte selbst das datenblatt - danke

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach ja, zu deiner info: wenn du in deinem schaltbild den falschen IC 
nimmst, darfst du nicht meinen, dass die pin-benennung und -belegung die 
selbe bleibt wie bei einem anderen IC - logisch, oder? z.b. ist in 
deinem schaltbild der pin ENVREG der pin VDD bei deinem PIC24HJ.. alles 
klar?

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Master Snowman schrieb:
> so, jetzt ist fertig mit schlammschlacht, schliess einfach die folgenden
> pins so an
> Pin 10, (19), 26, 38, 57 sind an VDD zu schliessen = +3.3V
> Pin 9, (20), 25, 41 sind an GND zu schliessen
> Pin 39, 40 einen quarz (vorteilhaft 10MHz) mit je 2 kondensatoren
> Pin 56 = VDDCORE einen tantal-kondensator mit 10uF
>
> die pins in klammern sind die referenzspannungen für den ADC, falls du
> den gleich mit GND/VCC betreiben willst
>
> VDDCORE ist der pin des internen spannungreglers, der zur
> spannungsstabilisierung einen kondensator braucht (darum der 10uF)
>
> ps: das nächste mal liesst du bitte selbst das datenblatt - danke

Danke für die Mühe - aber jetzt reichts langsam. Ich hab den Teil mit 
VDDcore falsch gelesen - keine Frage. Aber genau weil ich nicht 
rausbekommen hab wo der Fehler war, weil ich annahm das mein Layout 
richtig ist, hab ich hier um Hilfe gebeten - großteils hab ich nur dumme 
Sprüche zu hören bekommen. Was soll das denn? Das irgendwo nen Fehler 
war war mir ja bewusst und ich bitte um hilfe - und die antworten - echt 
das letzte.

Die Belegung hab ich mittlerweile geändert - im neuen Datenblatt von 09 
ist praktischerweise auch ne Minimumbeschaltung angegeben - trotzdem 
danke. Hatte gehofft auf den Quarz verzichten zu können -_-

Ich weiß im Übrigen nicht mit was der Rest hier SLPs zeichnet - aber ich 
nutze Eagle. Und da ich nicht jedes Bauteil neuzeichnen will weil das 
einfach nicht praktisch ist, nehm ich auch gern pinkompatibles und halte 
mich einfach an die Pinnummer und ignorier die Bezeichnung - klappt 
soweit ganz gut! Und falls das mal jemand nachließt - den besagten 
Enable Voltage Regulator Pin gibt es beim 206 nicht!

Autor: Michael H. (morph1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auch wichtig ist, dass du NICHT IM DEBUGMODE bist

wenn du das PICKit abziehst muss der Chip im Programmiermodus des PICKit 
beschrieben werden.

andernfalls tut sich nix ohne druck auf die Playtaste ;)

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> nehm ich auch gern pinkompatibles und halte mich einfach an die Pinnummer
naja, aber deine beschaltung sieht nicht danach aus
z.b. programmierleitung oder der MCLR hängt nach abziehen des 
programmierers in der luft, keine stützkondensatoren... man kann schon 
einen gehäuse- und pin-kompatiblen IC nehmen, aber dann
1. pins auch richtig beschalten/belegen
2. vielleicht hier erwähnen, ansonsten musst du - wie bemerkt, -gewisse
   sprüche hören - sorry das ist so!

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael H. schrieb:
> auch wichtig ist, dass du NICHT IM DEBUGMODE bist
>
> wenn du das PICKit abziehst muss der Chip im Programmiermodus des PICKit
> beschrieben werden.
>
> andernfalls tut sich nix ohne druck auf die Playtaste ;)

Das hatte ich anfangs - hab aber mittlerweile ;) im Pulldownmenü RELEASE 
gewählt - ich hab den Fehler halt an der falschen Stelle gesucht.

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, programmierleitungen sind OK - sorry - ich dachte man müsse(!) RB6/7 
brauchen ;-)

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Master Snowman schrieb:
> ok, programmierleitungen sind OK - sorry - ich dachte man müsse(!) RB6/7
> brauchen ;-)

nee hattest schon recht - der master reset hängt danach in der luft - 
ich mein ist halt meine schuld - das ist nur teil meines projektes und 
nachdem ich den 160-poligen 3-port-switch verdrahtet hatte hab ich da 
wohl nen bischen geschlust. aber morgen bau ich meinen letzten 
verbliebenen PIC auf und verdrahte den neu - werd rückmeldung geben obs 
klappt ;)

Autor: Michael H. (morph1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Das hatte ich anfangs - hab aber mittlerweile ;) im Pulldownmenü RELEASE
>>gewählt - ich hab den Fehler halt an der falschen Stelle gesucht.

sorry, ich hab das PICKit nicht, aber ich weiß das kann teilweise 
Debuggen

folgich kann man es im MPLAB als Programmer ODER Debugger anmelden.

wichtig is das es im Dropdownmenu Programmer angemeldet ist. Diverse 
Warnmeldungen lesen und dann akzeptieren ;)

und vorallem lass das PICKit dran und toggle den Masterclear mit den 
ensprechenden Buttons im MPLAB

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hatte gehofft auf den Quarz verzichten zu können -_-

Was bringt dich zu dieser Auffassung?
Der interne FRC mit 7,3MHz geht doch prima.


Noch eine Anmerkung zu den verschiedenen PGC / PGD Leitungen:
zum Programmieren kann man jedes beliebige Paar nehmen - zum debuggen 
nur das bei der Programmierung mit den configbits eingestellte.

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, ich hab nun folgendes Programm:
#include "p24HJ128GP206.h"
#include <libpic30.h>

_FBS(RBS_NO_BOOT_RAM & BSS_NO_BOOT_CODE & BWRP_WRPROTECT_OFF);  // Boot Segment
_FSS(RSS_NO_SEC_RAM & SSS_NO_SEC_CODE & SWRP_WRPROTECT_OFF);  // Secure Segment
_FGS(GSS_OFF & GCP_OFF & GWRP_OFF);                // Code/Write Protect
_FOSCSEL(FNOSC_FRC & IESO_OFF);                // Oscillator
_FOSC(FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMD_NONE);          // Clock
_FWDT(FWDTEN_OFF & WINDIS_OFF);                  // Watchdog
_FPOR(FPWRT_PWR1);                        // Power-on Reset Value
_FICD(BKBUG_OFF & COE_OFF & JTAGEN_OFF & ICS_PGD3);        // Register FICD (with debugger)
//_FICD(BKBUG_OFF & COE_ON & JTAGEN_OFF & ICS_NONE);        // Register FICD (without debugger)


int main(void) {

  ODCG &= 0x0000;
  
  TRISG = 0x0000;
  TRISB = 0x0000;
  AD1PCFGH = 0xFFFF;
  Nop(); // Required if a port/latch is accessed in a next command
  //LATG = 0xFFFF;
  
  while(1) {
    LATGbits.LATG15 = 1;
  LATBbits.LATB10 = 1;
  Nop();
    __delay32(10000000);
    //LATGbits.LATG15 = 0;
  //LATBbits.LATB10 = 0;
    __delay32(10000000);
  }
}

Im Debugmode läuft es, wenn ich das normal programmiere klappts nicht. 
(Ich kann Highpegel messen im Debugmode - normal nicht - gemessen mit 
Multimeter) Ich würd irgendwie immer noch auf Clocking tippen aber ich 
find den Fehler nicht. MCLR ist High, Speisung durch PICKIT2 oder extern 
(LDO) - macht keinen Unterschied am Ergebnis. Debugmode mit Power 
through PICKIT2

Hat einer ne Idee?

Autor: Jonas Arndt (Firma: GreenWire-Elektronik) (padrejohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nevermind - man sollte das Debug Enable Bit nur setzen wenn man debuggen 
will -_-

Autor: Andreas Häusler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kleiner Tip für alle die mit der HW- Beschaltung nicht klar kommen.
Auf der Microchip HP kann man alle Schemas zu den Eval- Boards 
downloaden.

Da ich davon ausgehe, dass der Hersteller der Chips weiss, wie man seine 
Controller beschalten muss ist dies immer eine gute Hilfe, die erste 
Hürde zu nehmen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.