Default Green Orange
Marcus Follrud
Wish I had a slogan
RSS
  • Home Page Home
  • Cruel Chipmunk Productions
  • Om
  • Projects

Vattna blommorna – Del 7

Open source, Programmering Add comments

God morgon!

Tänkte jag kunde bidra med koden som jag skrev igår. Den är nog inte helt färdig vid närmaste eftertanke, men jag tror den fungera som den skall just nu. Det enda som inte är testat är RA2 och hur den fungerar. Men det hoppas jag den gör :-) .

Blir det att köra till Kjell.com och köpa lödkort ikväll? :)

Koden jag skrev ser ut enligt följande:

#include <pic16f690.h>

typedef unsigned int word;

word at 0x2007 __CONFIG = (_INTRC_OSC_NOCLKOUT & _CP_OFF & _WDT_OFF & _BOR_OFF & _PWRTE_ON & _MCLRE_OFF & _IESO_OFF & _FCMEN_OFF);
void delay_ms(long ms)
{
    long i;

    while (ms--)
        for (i=0; i<=50; i++) //50 iterations is _basically_ 1 ms.
			;
}
unsigned int pumpint=0; //just an int for loops..
unsigned int totalpumps = 10; //Keeping total pumps for ten pumps before a reset is needed (until calculated how much 10 litres goes for)
void main () {
	TRISC = 0x00;	/* PORTC, All outputs */
  TRISA2 = 0x01; /* RA2 input */
  while(1)
  {
    //Start pumping water, if RA3 isn't activated.
    //Wait for the breaking SW1
    if(!RA3 && totalpumps < 10)
    {
      while(1)
      {
        if(RA3)
        {
          break;
        }
        PORTC=0x0f;
        //As an extra marker, never pump for more than 5 secs.
        delay_ms(1);
        if(pumpint >= 5000) //Loop until 5000ms == 5secs is reached.
        {
          PORTC=0x00;
          pumpint = 0;
          totalpump++;
          break;
        }
        pumpint++;
      }
    }
    //Pumping done. Wait 15 minutes
    PORTC=0x03;
    //Reset button must work within this time. Don't sleep for a whole 15 mins, but keep polling.
    while(pumpint <= 90000) //15 min == 900000ms. We're polling each 10ms.
    {
      if(RA2) //RA2 is the reset switch
      {
        totalpumps = 0;
        pumpint = 0;
      }
      pumpint++;
      delay_ms(10)
    }
  }
}

Som ni säkert ser så är det inget direkt avancerat för att skriva program till en PIC:-).
Ska ta och skapa mig en riktig projektsida här på bloggen om just detta. Så fort jag har lite mer fysiskt arbete klart!

Vi hörs
Marcus

la la laaa
  • Facebook
  • Twitter
Be Sociable, Share!
  • Tweet

augusti 10th, 2009  
Tags: 16f690, c#, pic, sdcc

Leave a Reply

  • Kategorier

    • Linux
    • monotouch
    • Open source
    • Planet
    • Privat
    • Programmering
    • Spel
  • Arkiv

    • januari 2012
    • september 2011
    • augusti 2011
    • januari 2010
    • december 2009
    • november 2009
    • oktober 2009
    • september 2009
    • augusti 2009
    • juli 2009
  • Etiketter

    2.6.30 16f690 Andjelka ANSI C apparmor apple axis biltema blommor c# curl debian despotify django drupal inaktivitet iphone kde Linux linux mint liseberg mono monotouch novell Open source php pic pic16f690 plasma plasmoid Programmering pump pykde pyqt python qt sdcc sommarstuga spotify spytify vatten vattna blommor virtualbox wordpress youtube
Copyright © 2012 Marcus Follrud
XHTML CSS Logga in