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

Vattna blommorna – Del 5

Linux, Open source, Programmering Add comments

Det blev inte så mycket programmerat igår, men lite grann fick jag till iaf.

Konsten att förstå sig på en PIC-processor kräver att man läser en massa dokument. Och Microtec har dokument för sina Pic:ar, men de vill givetvis inte skriva något annat än assembler.

Men SDCC verkar inte ha några exempel, än de man surfar efter. Mina skills är helt enkelt inte de bästa när det gäller PIC-programmering generellt. Har jag tagit mig vatten över huvudet, eller komme jag klara det efter lite tid? Vi får se, men jag ger mig inte så fort =).

Jag hittade ett projekt som hette i4uC, som är ett öppen källkodsbaserat IDE för Mikroprocessor som använder SDCC och där PIC16F690 stöds. Det gick inte så bra att installera i ubuntu, så jag får göra det i Arch lite senare, som ivf är en miljö med många nya paket och inte 3 år gamla. Det får bli en senare utmaning.

Det var ett litet sidorpår. Jag gjorde en del programmering igår, bland annat testade jag RC-utgångarna för att få leddarna att lysa. Man använder egentligen bara en variabel för att sätta igång de olika, där 0×00 är alla avstända och 0x0F är alla 4 tända. Kombinationerna ser ut såhär:

Hex	Led1	Led2	Led3	Led4
0x00
0x01	x
0x02		x
0x03	x	x
0x04			x
0x05	x		x
0x06		x	x
0x07	x	x	x
0x08				x
0x09	x			x
0x0a		x		x
0x0b	x	x		x
0x0c			x	x
0x0d	x		x	x
0x0e		x	x	x
0x0f	x	x	x	x

Jag gjorde tested enkelt genom att bara skriva lite kod som ändrar hexkoden och väntar 100ms:

#include


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 < 100; i++)
            ;
}

void main () {
	TRISC = 0x00;	/* PORTC, All outputs */
	PORTC = 0x00;
	while (1)
	{
	 PORTC = 0x00;
	 delay_ms(100);
	 PORTC = 0x01;
	 delay_ms(100);
	 PORTC = 0x02;
	 delay_ms(100);
	 PORTC = 0x03;
	 delay_ms(100);
	 PORTC = 0x04;
	 delay_ms(100);
	 PORTC = 0x05;
	 delay_ms(100);
	 PORTC = 0x06;
	 delay_ms(100);
	 PORTC = 0x07;
	 delay_ms(100);
	 PORTC = 0x08;
	 delay_ms(100);
	 PORTC = 0x09;
	 delay_ms(100);
	 PORTC = 0x0a;
	 delay_ms(100);
	 PORTC = 0x0b;
	 delay_ms(100);
	 PORTC = 0x0c;
	 delay_ms(100);
	 PORTC = 0x0d;
	 delay_ms(100);
	 PORTC = 0x0e;
	 delay_ms(100);
	 PORTC = 0x0f;
	 delay_ms(100);
	}
}

Efter det är det bara att kompilera med SDCC och skicka ut genom PicKit2:

$ sdcc -mpic14 -p16f690 -V main.c && pk2cmd -B/usr/share/pk2/  /PPIC16F690 -Fmain.hex -M -T

Nu ska jag iväg till mina föräldrar. so long.

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

juli 18th, 2009  
Tags: 16f690, blommor, pic, pk2cmd, sdcc

One Response to “Vattna blommorna – Del 5”

  1. En lugn söndag
    juli 19th, 2009 at 22:22

    [...] HomeOm « Vattna blommorna – Del 5 [...]


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