Sida 2 av 2
Re: Knappar fungerar inte.
Postat: 1 april 2010, 13:57:39
av Kalf
Jag har fixat till While loopen och så det blir enklare och läsa. Såhär ser koden ut nu:
Kod: Markera allt
//interrupt
void interrupt()
{
if(INTCON.INTF == 1)
{
INTCON.INTF = 0; //clear intrerrupt
PORTB = 0b11111111; //Trigger the flash
delay_ms(20); //wait to be shure that the flash has triggerd
PORTB = 0; //release flash circut
}
}
//Main
void main()
{
//input output assignment
TRISB = 0b00001101; //RB0 sensor input RB1 Flash trigger output RB2-3 Input button RB4-7 N-A
//Timer and other settings
OPTION_REG = 0b11000000; //PORTB Pull-ups are dissabled, interrupt on rising edge
INTCON.GIE = 1;
INTCON.INTE = 1;
ANSEL = 0; // Configure AN pins as digital I/O
ANSELH = 0;
IOCB = 0;
//Clearing and setting regs, bits and varibles
PORTB = 0; //Clears PORTB
while(1);
}
Re: Knappar fungerar inte.
Postat: 1 april 2010, 14:00:31
av sodjan
Jaha, OK ? Fungerar det ? Eller inte ?
Re: Knappar fungerar inte.
Postat: 1 april 2010, 14:02:23
av Kalf
Nej. det fungerar inte. Samma resultat som innan. Händer ingenting med utgången när jag lägger +5v på ingången.
Re: Knappar fungerar inte.
Postat: 1 april 2010, 14:03:01
av sodjan
> Händer ingenting med utgången
Hur vet du det ?
Re: Knappar fungerar inte.
Postat: 1 april 2010, 14:04:20
av Kalf
Måste bara tillägga att jag har inget oscillioskop att mäta utgången med. Utan jag har blixten inkopplad via en optokopplare.
Re: Knappar fungerar inte.
Postat: 1 april 2010, 14:07:04
av sodjan
OK, gör på något annat sätt då.
Jag vet hur jag skulle göra, men det är så självklart att
jag inte orkar beskriva det...
Re: Knappar fungerar inte.
Postat: 1 april 2010, 14:11:54
av Kalf
Okay. Jag har nu kopplat in en LED till utgången och ändrat tiden som utgången skall vara hög till 1s. Men den lyser inte när jag försöker trigga RB0/INT
Re: Knappar fungerar inte.
Postat: 1 april 2010, 14:18:21
av sneaky
Har inte läst tråden sådär värst noga men ett par tankar ändå. Det är inte något så löjligt enkelt som att RB0 redan ligger hög när du försöker trigga den? Och tanke nummer två, har du kontrollerat att den LED du försöker tända verkligen går att tända? Vad jag menar är, har du provat att tända den utanför interrupt-koden?
Re: Knappar fungerar inte.
Postat: 1 april 2010, 14:21:53
av sodjan
> och ändrat tiden som utgången skall vara hög till 1s.
Exakt så ja...

Du kan nu även kolla med en vanlig voltmeter...
Nästa steg jag skulle göra vore att göra samma sak i ASM för
att vara helt säker på att jag har förstått hur interrupten fungerar.
Och kolla den ASM som MikroC genererar för att se att det är korrekt.
Sneaky har också ett par *självklara* kontroller som jag hoppas att
du redan har gjort. Annars är det nog hög tid att göra det...

Re: Knappar fungerar inte.
Postat: 1 april 2010, 14:26:29
av Nerre
sodjan skrev:
Eftersom det inte finns någon "första" hanterare så är frågan inte riktigt rellevant... :-)
Den första är såklart den man skrev först:-) Innan man ville utöka programmet med en till interrupt.
Re: Knappar fungerar inte.
Postat: 1 april 2010, 14:29:55
av sodjan
Eftersom det bara finns en rutin så kan ingen vara "först" (eller nummer två)...
Skit samma, vi förstår ju mycket väl båda två hur det fungerar.
Sedan kan man (som jag visade) strukturera det hela så att man hålla isär
koden för varje interrupt-källa i alla fall.
Re: Knappar fungerar inte.
Postat: 1 april 2010, 15:08:22
av Kalf
Jag har fått reda på vart problemet ligger. Min inkoppling utav optokopplaren var felaktig. det verkade som om den höll kvar spänningen. Därför skall jag studera dess datablad och ta reda på hur den skall vara inkopplad. Nu var dess diod inkopplad direkt till uC'n med enbart ett motstånd till gnd.
Kalf
Re: Knappar fungerar inte.
Postat: 1 april 2010, 18:44:38
av sodjan
> Min inkoppling utav optokopplaren var felaktig.
Ja, det är ju lite det som sneaky menade. Att du först ska kolla
alla *enkla* saker. Att det du kopplar in fungerar o.s.v. Att du över
huvudtaget kan sätta utgången hög, o.s.v. D.v.s innan du börjar
misstänka koden...
Om jag fattar dig rätt så har du t.ex inte testat optokopplar kopplingen
genom att lägga ingången (på optokopplaren) hög manuellt ? Eller testat
utgången med en vanlig LED istället för optokopplaren för att verifiera
den delen ?
> Nu var dess diod inkopplad direkt till uC'n med enbart ett motstånd till gnd.
Det låter väl korrekt i och för sig. Svårt att ha synpunkter på utan att veta
vilken optokopplare det är.
Re: Knappar fungerar inte.
Postat: 1 april 2010, 18:54:23
av Kalf
Jag har ännu inte hunnit sätta mig in i optokopplaren för det har kommit en del Jobb imellan. Men om ni är intresserade så använder jag mig utav följande optokopplare. 75-420-25
Jag har tänkt att koppla in den liknande i detta exemplet:
http://www.diyphotography.net/universal ... sh_trigger
Jag vill även passa på att tacka för alla tips jag får. Speciellt i tillvägagångsättet på ett sådant här projekt. Jag lär mig mycket utav eran input och det är en stor del i mitt syfte med mina projekt.
mvh
Kalf
Re: Knappar fungerar inte.
Postat: 1 april 2010, 19:08:58
av sodjan
Aha, en opto*triac*, det är ju inte direkt en vanlig optokopplare...
Du sa något om att den "inte stänger" (?).
Notera att en triac inte stänger förrens spänningen över den går under
en viss nivå. Normalt styr man en växelspänning, och då går ju spänningen
"genom noll" 100 ggr/sek, och då stänger den. I detta fall så beror det ju på
vilken spänning som ligger kvar över trigg-ingången på blixten, det är mycket
möjligt att triac'en aldrig stänger helt enkelt.
Du får göra lite tester "för hand" och se om den optokopplaren
fungerar tillsammans med *blixten* först. Sen, om det fungerar, koppla
det till processorn.