Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.


Nachrichten - WernerE

Seiten: [1] 2 3
1
Timer (Allgemein) / Re:RTCC Alarm erst nach 10s
« am: Februar 23, 2012, 16:17:06 Nachmittag »
Ok, Problem ist gelöst. Es lag an einer fehlenden Masseverbindung der Kondensatoren. Schuld ist der Layout-Ersteller.
Vielen Dank für die Unterstützung  :-[

2
Timer (Allgemein) / Re:RTCC Alarm erst nach 10s
« am: Februar 23, 2012, 12:38:12 Nachmittag »
10M parallel bringt auch keine Veränderung.  :(

3
Timer (Allgemein) / Re:RTCC Alarm erst nach 10s
« am: Februar 22, 2012, 14:10:09 Nachmittag »
Der Oscillator ist per CONFIG auf LOW Power konfiguriert. Interessanterweise schwingt er im HIGH Power Mode gar nicht an.
Die Kondensatoren haben 15pF. Das Problem habe ich mit unterschiedlichen Platinen, d.h. Bauteildefekt ist auszuschließen.
Irgendwie scheint im 18F67K22 ein anderer Oscillator-Treiber drin zu sein, da ich mit anderen PICs (18F2520, 16xx) bisher nie Probleme hatte.

4
Timer (Allgemein) / Re:RTCC Alarm erst nach 10s
« am: Februar 21, 2012, 12:38:11 Nachmittag »
Hab mittlerweile eine Erklärung gefunden. Der SOSC Oscillator braucht im LowPower Modem 5-10s zum Starten.

5
Timer (Allgemein) / Re:RTCC Alarm erst nach 10s
« am: Februar 10, 2012, 12:19:04 Nachmittag »
Der Code ist relativ trivial. Die RTCC wird aktiviert und dann die Alamkonfiguration gesetzt. Mittlerweile wirds immer merkwürdiger. Lass ich den Code ohne Breakpont laufen, funktioniert es und er springt nach 1s aus rtc_init raus. Setze ich am Anfang einen Breakpoint und lass anschließend weiterlaufen, dann dauert es 10s. Vielleicht ein Problem vom Debugger ICD3 ?!



#include "Fuses.h"
#include <p18cxxx.h>

void rtc_init(void);
void rtc_unlock(void);

void main(void)
{
 rtc_init();
}

void rtc_init(void)
{
 rtc_unlock();                        // Unlock rtcc registers
 RTCCFGbits.RTCEN = 1;                // Enable the rtcc
 ALRMCFG = 0b11000100;                // Set the alarm to every second
 RTCCFGbits.RTCWREN = 0;              // Lock rtcc registers
 PIR3bits.RTCCIF = 0;
 while (PIR3bits.RTCCIF == 0)
    ;
}
 

void rtc_unlock(void)
{
 #define _RTCWREN      5
 _asm
 movlb RTCCFGbits
 movlw 0x55
 movwf EECON2,ACCESS
 movlw 0xAA
 movwf EECON2,ACCESS
 bsf   RTCCFGbits,_RTCWREN,BANKED
 _endasm
}



6
Timer (Allgemein) / RTCC Alarm erst nach 10s
« am: Februar 08, 2012, 12:55:23 Nachmittag »
Hallo,
hab einen PIC18F67K22, der eine interne RTCC hat.
Der RTCC soll jede Sekunde einen Alarm auslösen (ALRMCFG=0b11000100).
Es klappt auch, nur das der erste Alarm erst nach ca. 10s kommt. Alle weiteren Alarme kommen wie geplant im Sekundentakt.
Wer hat eine Idee ?

7
PIC Mikrocontroller Allgemein / Re:Offene IOs
« am: August 24, 2011, 08:33:17 Vormittag »
Hallo Stefan,
es geht mir nicht um die paar Bytes an Code. Es ist nur nervig (und evtl. ja unnötig) alle IOs durchzugehen, um sie dann als Ausgang oder Eingang zu setzen.
Werner

8
Programmer und Debugger / IRQ nervt beim Debuggen
« am: August 23, 2011, 22:07:37 Nachmittag »
Hallo,
erstelle gerade ein C-Projekt (mit einer Assembler-IRQ Funktion) mit einem PIC18. Verwende MPLAB, C18 und einen ICD3 zum Debuggen. Wenn ich im Einzelschritt am Debuggen bin, springt das Programm häufig in die IRQ-Routine, da viele IRQs kommen. Das ist natürlich sehr nervig, bis man hier wieder rausgesteppt ist.
Kann man dies irgendwie umgehen, d.h. das Anhalten im IRQ unterbinden? (Vielleicht durch Erstellen einer LIB ??)
Gruß,
Werner

9
PIC Mikrocontroller Allgemein / Offene IOs
« am: August 23, 2011, 22:01:45 Nachmittag »
Hallo,
bisher hab ich unbenutzte IOs immer als Ausgang gesetzt, damit der Eingangsbuffer nicht floatet/schwingt und damit Strom zieht.
Jetzt hab ich gerade einen neuen Typen 18F26K22, bei dem alle IOs defaultmäßig per ANSEL-Register als Analog-Pins konfiguriert sind.
Damit dürfte das Setzen als Ausgang wohl überflüssig sein, da der digitale Buffer ja deaktiviert ist, oder seh ich das falsch ??
Gruß,
Werner

10
AD-Wandler (Allgemein) / Re:PIC32 Wandlungszeiten
« am: Oktober 19, 2010, 17:35:01 Nachmittag »
Hallo Stefan,
es handelt sich um den PIC32MX460F512L. Die Zeiten hab ich mit dem CoreTimer gemessen. Diese Messung hatte ich zuerst auch im Verdacht und hab sie doppelt verifiziert (dafür leg ich meine Hand ins Feuer).
Entweder der Chip verhält sich wirklich so oder in den Datenblättern ist noch ein Bug?!
Gruß,
Werner

11
AD-Wandler (Allgemein) / PIC32 Wandlungszeiten
« am: Oktober 19, 2010, 10:51:21 Vormittag »
Hallo,
der ADC des PIC32 bietet ja die Möglichkeit mehrere Samples automatisch zu machen. Ich möchte 16 Samples für einen Kanal machen. Für eine komplette Wandlung würde ich 800us erwarten, in Wirklichkeit dauert es aber 832us. Wird ein zusätzlicher Tad zwischen des Samples benötigt? Als Quick-and-Dirty-Lösung habe ich erstmal die Sampling-Zeit von 13 auf 12 verkleinert, dadurch passt es wieder.
     
       
       // PBCLK=6MHz ->     Tpb  = 166.666ns
       // Tad = (n+1) * 2 * Tpb  = (5+1) * 2 * 166ns = 2us
       // Tconv=12xTad + Tsample = (12+13)*2us = 50us
       // 16 Samples * 50us = 800us
       //
       AD1CON1 = ADC_FORMAT_INTG | ADC_CLK_AUTO | ADC_AUTO_SAMPLING_ON;
       AD1CON2 = ADC_VREF_AVDD_AVSS | ADC_OFFSET_CAL_DISABLE | ADC_SCAN_OFF | ADC_SAMPLES_PER_INT_16;   
       AD1CON3 = ADC_CONV_CLK_PB | 5 | ADC_SAMPLE_TIME_13;
       AD1CSSL = 0;          // no scanning

12
Compiler / Probleme mit Default sorage class vom C18
« am: Juni 17, 2010, 12:55:12 Nachmittag »
Hallo,
seit dem Update meines C18 Compilers auf die neueste Version 3.35 bekomme ich folgende Fehlermeldung (vorher war alles Ok):

Zitat
Error - could not find definition of symbol '__OpenADC:2' in file './Main.o'.

Mein Source sieht so aus:
#include <adc.h>

void main(void)
{
 OpenADC(88, 99, 77);
}

Ursache ist, dass ich als
Zitat
Default storage class = Static
verwende.
Darf man diese nicht mehr verwenden, wenn man auf die Library zugreifen will ??
Oder hat Microchip hier einen Bug eingebaut ?

Gruß,
Werner

13
Programmiersprache Assembler / Re:Konstanten aus C in Assembler verwenden
« am: Juni 08, 2010, 14:51:59 Nachmittag »
Hallo,
das Ganze wäre perfekt, wenn man auch Kommentare unterbringen könnte. Doch im obigen Beispiel liefert die Zeile
// nur in C sichtbar, wenn Assembler-Quellcode ASM_SOURCE definiertleider einen Fehler. Schade, dass der Assembler // nicht als Kommentar erkennt.
So ist es für mich leider unbrauchbar und ich arbeite weiterhin mit 2 Headerfiles.
Gruß,
Werner (der eine ähnliche Frage auch schon mal gestellt hat)

14
PIC Mikrocontroller Allgemein / Re: Neue PIC32
« am: November 30, 2009, 20:14:09 Nachmittag »
Ok,
weiß ich erstmal Bescheid.
Ich hab bisher nur Erfahrung mit einem X-PORT, der seriell angesprochen wurde. Reichte von der Geschwindigkeit völlig aus. Für das aktuelle Projekt bin ich noch unentschlossen. Gibt es irgendwo einen Schaltplan/Bauteilbezeichnungen, wie die konkrete Anbindung vom PIC zur RJ45-Buchse zu erfolgen hat?
Hab leider nichts gefunden.
Gruß, Werner

15
PIC Mikrocontroller Allgemein / Re: Neue PIC32 (Ethernet)
« am: November 30, 2009, 14:52:49 Nachmittag »
Bin auch gerade über die neuen PICs gestolpert. Sehr schön mit 6 UARTs und 128kB RAM.
Beim Ethernet versteh ich nicht ganz den Vorteil: man braucht zusätzlich einen externen Chip (PHY) plus Übertrager + RJ45 Buchse. Wo liegt denn da der Unterschied, als wenn ich einen EN28J60 und einen PIC ohne Ethernet nehm ??
Gibt leider noch wenig Fundiertes hierzu im Netz.
Werner

Seiten: [1] 2 3