Delay Problem
Montag, 21. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  CCS Compiler  |  Timer (CCS)  |  Delay Problem « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Delay Problem  (Gelesen 2798 mal)
 
Sascha
Newbie
*
Offline Offline

Beiträge: 46


Profil anzeigen
« am: November 20, 2007, 10:06:58 »

Hallo zusammen,
ich hab da mal wieder ein Problem und zwar möchte ich einen Pic 12F629(extern 4MHz) überreden, 6h an einen Pin ein high und 6h lang ein low Singnal zu produzieren. Also habe ich folgendes für 10 Minuten probiert:
leider ohne Erfolg ein paar Sekeunden eine Minute kein Problem  Traurig


Code:
#include "D:\PIC\Timer\timer.h"
#use delay(clock=4000000, RESTART_WDT)
int i;

void main() {

           

while (1)
{

   output_high(PIN_A0);
   i = 0;
      while (i<600)
      {
         delay_ms (1000);
         i = i + 1;
      }
           
    output_low(PIN_A0);
    i = 0;
       while (i<=600)
       {
         delay_ms (1000);
         i = i + 1;
       }
               
}
}

Gespeichert
Master Snowman
Sr. Member
****
Offline Offline

Beiträge: 289



Profil anzeigen WWW
« Antworten #1 am: November 20, 2007, 10:19:03 »

wie wird 'int' von deinem compiler definiert? unsigned, signed, 8bit, 16bit...?
was varierst du, wenn du 6h erreichen möchtest: 'i' oder 'delay_ms()'? der funktion 'delay_ms()' kann man nicht beliebig grosse werte übergeben.

ich kenne den befehl 'RESTART_WDT' nicht, aber könnte es sein, dass der dazwischenfunkt?
Gespeichert
Sascha
Newbie
*
Offline Offline

Beiträge: 46


Profil anzeigen
« Antworten #2 am: November 20, 2007, 10:34:59 »

Hi,

Zitat
wie wird 'int' von deinem compiler definiert? unsigned, signed, 8bit, 16bit...?
gute Frage werde ich mal probieren

Zitat
was varierst du, wenn du 6h erreichen möchtest: 'i' oder 'delay_ms()'? der funktion 'delay_ms()' kann man nicht beliebig grosse werte übergeben.

i deswegen die Schleife (time - a variable 0-255 or a constant 0-65535)

Zitat
ich kenne den befehl 'RESTART_WDT' nicht, aber könnte es sein, dass der dazwischenfunkt?

Habs auch ohne WDT probiert

danke für die schnelle Antwort

Gespeichert
Sascha
Newbie
*
Offline Offline

Beiträge: 46


Profil anzeigen
« Antworten #3 am: November 20, 2007, 11:34:18 »

Zitat
wie wird 'int' von deinem compiler definiert? unsigned, signed, 8bit, 16bit...?

int wird als 8bit definiert

Das war der Fehler    L&#228;chelnd
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.036 Sekunden mit 19 Zugriffen.
 
Top! Top!