Sida 1 av 1

Problem med INTCON3.INT2IP (PIC18F2320)

Postat: 14 augusti 2006, 11:03:46
av JimmyAndersson
MikroBasic som vanligt..


När jag försöker cleara INTCON3.INT2IP (External interrupt, låg prioritet) vid initieringen av interrupt-inställningarna så får jag ett felmeddelande:

102:21 3 Identifier 'INT2IP' was not declared nataggregat1.pbas

Jag skriver bara INTCON3.INT2IP = 0. Inga stavfel eller något sånt, har kollat många gånger i databladet. Däremot fungerar det när jag skriver:

ClearBit (INTCON3, 7)

Bug? :roll:


edit: Det är samma sak med PIE1.PSPIE

Postat: 14 augusti 2006, 11:45:41
av sodjan
Jo, en bug i "device-filen" (d.v.s den fil i MB som definierar alla symboler
för register och "bitar"). Det måste finnas en fil någonstans i MB där
alla symboler (PORTA, PIR1, C o.s.v.) definiers.

En snabb fix är att skriva "INTCON3.7 = 0" istället. Problemet är ju att koden
blir lite svårare att läsa. Eller så definierar du en egen symbol/variablel
med värdet 7, jag vet dock inte hur man gör det (eller om det ens fungerar...)

> ClearBit (INTCON3, 7)

Men "ClearBit (INTCON3, INT2IP) fungerar inte, eller hur ?
Det är ju "rätt" sätt att skriva det...

Postat: 14 augusti 2006, 13:03:52
av JimmyAndersson
> Men "ClearBit (INTCON3, INT2IP) fungerar inte, eller hur ?

Nä, det fungerar inte heller.


Tittade i filen P18F2320.pbas med alla symboler. INT2IP och PSPIE saknas. Resten finns däremot. (Sökte bara efter det som har med interrupt att göra.)

Blir detta rätt om jag lägger till det själv: INT2IP = $0007 ?

Samma grejj med PSPIE, dvs PSPIE = $0007


edit: Såg att INT2IP även saknas i filen p18f2320.mcl men det verkar som något mer saknas där. Behöver en hex-editor för att se hur formatet ska se ut.

Postat: 14 augusti 2006, 13:55:03
av sodjan
> Blir detta rätt om jag lägger till det själv:

Prova !

Gör en kopia på filen först ifall du strular till det... :-)

Nu när du säger det, så tror jag det är så att <device>.PBAS skall
kompileras först (sannolikt till *.MCL) innan den kan användas
av MB-kompilatorn. Eller också så sker det automatiskt, se även
sid 46-47 i MB-manualen...

Jag gjorde det i våras när det var fel i device-filen till 12F683 (för
att få de inbyggda PWM funktionerna i MB att fungera med 12F683...).

Postat: 14 augusti 2006, 14:51:40
av JimmyAndersson
Det fungerade fint att bara ändra i .PBAS-filen. Sid 47 i manualen berättade varför. :)

Så nu har jag lärt mig något nytt. :)