PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Haxxkatt
Inlägg: 6 Blev medlem: 14 november 2007, 08:38:48
Ort: Bollnäs
Inlägg
av Haxxkatt » 14 november 2007, 08:43:12
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
Icecap
Inlägg: 26659 Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark
Inlägg
av Icecap » 14 november 2007, 09:04:19
Testa att slå av de analoga funktioner på Port A... Det brukar göra underverk.
speakman
Inlägg: 4838 Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge
Inlägg
av speakman » 14 november 2007, 09:32:47
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 » 14 november 2007, 09:47:35
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
Icecap
Inlägg: 26659 Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark
Inlägg
av Icecap » 14 november 2007, 21:06:29
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 » 14 november 2007, 21:10:39
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 » 14 november 2007, 21:12:22
> 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 » 14 november 2007, 21:13:11
> 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.
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 » 14 november 2007, 21:14:16
Märklig diskution.... Vad VILL du göra?
net4all
Inlägg: 538 Blev medlem: 7 februari 2007, 12:06:34
Inlägg
av net4all » 14 november 2007, 21:15:10
Ja.... ok.... Vad är då vitsen med Input/Output om man ändå kan styra pinnen när den är satt som ingång?
Icecap
Inlägg: 26659 Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark
Inlägg
av Icecap » 14 november 2007, 21:16:45
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 » 14 november 2007, 21:19:10
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 » 14 november 2007, 21:19:34
> 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...
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 » 14 november 2007, 21:22:23
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 » 14 november 2007, 21:22:48
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...