Behöver hjälp med pic 16F628

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Haxxkatt
Inlägg: 6
Blev medlem: 14 november 2007, 08:38:48
Ort: Bollnäs

Behöver hjälp med pic 16F628

Inlägg av Haxxkatt »

Kod: Markera allt

void main()
{
  Delay_ms(1000);
  TRISA.F1=1;
  PORTA.F1=0;
  PORTB=0;
  TRISB=0;


while(1)


  Delay_ms(1000);
 {
 if(   !PORTA.F1)
 {
   PORTB=PORTB|0B00000010;
  }
   Delay_ms(1000);
   if(   PORTA.F1)
 {
  PORTB=PORTB&0B00000100;
 }
 Delay_ms(1000);



 /*
 Delay_ms(1000);
    PORTB.F3=1;
       PORTB.F2=0;


  Delay_ms(1000);

  PORTB.F3=0;
       PORTB.F2=1;
       */
       }

  }

Vi håller på att programmera en bil, och vill att när port A1 aktiveras så
ska bilen börja göra något annat...

Men det funkar inte alls.. Nån som har nåt förslag?

Lade till code-taggar / speakman
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Testa att slå av de analoga funktioner på Port A... Det brukar göra underverk.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Varsågod, en lite mer lättläst variant utan bortkommenterad kod:

Kod: Markera allt

void main()
{
        Delay_ms(1000);
        TRISA.F1 = 1;
        PORTA.F1 = 0;
        PORTB = 0;
        TRISB = 0;

        while(1) {
                Delay_ms(1000);

                if(!PORTA.F1)
                        PORTB = PORTB | 0B00000010;

                Delay_ms(1000);

                if(PORTA.F1)
                        PORTB = PORTB & 0B00000100;

                Delay_ms(1000);
        }

}
EDIT: Ser att du lagt "Delay_ms" på fel sida "klammern {". Prova min kod och se om den funkar bättre.
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Får man fråga vilken typ av C-språken du/ni skriver i?

EDIT:

TRISA.F1=1;
PORTA.F1=0;
PORTB=0;
TRISB=0;

Hmm, först sätter du TRISA.F1=1; PORTA.1 till ingång, sedan PORTA.F1=0; försöker du sätta pinnen som logisk 0 :?
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Och vad är problemet med det?
Att det inte fungerar är en sak men det finns väl inget fel med det heller?

Och C ska vara C och dessa kommandon är helt standard ANSI-C.
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Jag tänkte: Kan man styra logik nivån på en ingång?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Men det funkar inte alls..

Jag är inte helt med, vad är det som inte fungerar ?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Kan man styra logik nivån på en ingång?

Ja visst, varför inte ?
Det är bara att lägga den hög ellre låg.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Märklig diskution.... Vad VILL du göra?
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Ja.... ok.... Vad är då vitsen med Input/Output om man ändå kan styra pinnen när den är satt som ingång?
:?:
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Jorå, nog en tankevurpa men kommandot i sig gör ingen skada, fakta är att det knappast gör något alls som har funktion.
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Ok, så om man försöker styra en ingång så händer inget bara?

Hur går det för trådskaparen?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Jag tänkte: Kan man styra logik nivån på en ingång?

Menar du styra *innefrån* samma PIC ???
Självklart inte !!

Jag antog att du menade utifrån...
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Det finns bra beskrivet i databladet - det är lite roligt gjort och KAN ge märkliga effekter ibland med in och ut buffertarna. SODJAN kan förklara det där bättre om du inte orkar läsa eller förstår databladet
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Jag menade innifrån.
Så vad händer då? Haxxkatt försöker ju sätta PORTA.F1=0;

EDIT: Får läsa mer sen i databladet, ska ju inte ta tråden för det här... :)
Skriv svar