Beautifier mag kein PCINT ....

jomixl
Benutzer
Avatar
Gender:
Posts: 225
Registered: 02 / 2008
Subject:

Beautifier mag kein PCINT ....

 · 
Posted: 16.02.2017 - 16:08  ·  #1
Hallo Rolf,
hab ein kleines Programm angehängt:

wenn ich die PortChangeInterrupt-Routinen richtig benenne funktioniert der Beautyfier
nicht mehr. Vergebe ich andere Namen (ohne Interrupt ?) geht alles wieder.

Hab versucht das Problem einzukreisen, komme aber jetzt nicht mehr weiter.

Gruß Joachim
Attachments
program IRFB;

{$NOSHADOW}
{ $WG} {global Warnings off}

Device = mega88PA, VCC = 3;
{ $BOOTRST $00C00} {Reset Jump to $00C00}

define_fuses
// Override_Fuses;
NoteBook = A;
COMport = USB;
LockBits0 = [];
FuseBits0 = [CKDIV8, CKSEL3, CKSEL2, CKSEL0, SUT1, SUT0];
FuseBits1 = [BODLEVEL0];
FuseBits2 = [];

import SysTick, RC5Txport;
from System import;


define
ProcClock = 1000000; {Hertz}
SysTick = 10; {msec}
StackSize = $0032, iData;
FrameSize = $0032, iData;
RC5Txport = positive; {pulse polarity}
RC5mode = rc_6bit; {command bit count}

implementation

{$IDATA}

{--------------------------------------------------------------}
{ Type Declarations }

type


{--------------------------------------------------------------}
{ Const Declarations }
const
txadr : byte = 0;
{--------------------------------------------------------------}
{ Var Declarations }
{$IDATA}
var
ledx[@portB, 5] : bit;

{--------------------------------------------------------------}
{ functions }
procedure Init_Ports;
begin
ddrb:= %00100000;
portB:= %00000000;

ddrc:= 0;
portC:= %0111;

ddrd:= 0;
portD:= %11111111;
end;


procedure Init_PortChangeInt;
begin
pcmsk1:= %00000111; // Tasten an PortC
pcmsk2:= %11111111; // Tasten an PortD
pcicr:= %0110; // enable PCint 1+2
end;

// Taste an PortD gedrückt;
procedure xpcint2;
//procedure interrupt pcint2;
var
key : byte;
begin
if (PinC and %0111) = %0111 then
key:= pinD;
case key of
%11111110 :
SendRC5(txadr, 0); // Taste 0
|
%11111101 :
SendRC5(txadr, 1); // Taste 1
|
%11111011 :
SendRC5(txadr, 2);// Taste 2
|
%11110111 :
SendRC5(txadr, 3); // Taste 3
|
%11101111 :
Filename: irfb.PAS
Filesize: 3.27 KB
Title:
Download counter: 71
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Beautifier mag kein PCINT ....

 · 
Posted: 16.02.2017 - 16:37  ·  #2
Hallo,

procedure interrupt pcint1;
was ist das denn für eine Konstruktion? 😠

rolf
jomixl
Benutzer
Avatar
Gender:
Posts: 225
Registered: 02 / 2008
Subject:

Re: Beautifier mag kein PCINT ....

 · 
Posted: 16.02.2017 - 18:53  ·  #3
Hallo Rolf,
das soll ein Pin Change Interrupt sein.
Was ist daran so falsch?
Der Compiler konnte damit was anfangen.

Im Manual steht auch nichts davon dass eine gemeinsame Interrupt
-Routine für die 8 Pins pro Port nicht geht.

Gruß Joachim
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Beautifier mag kein PCINT ....

 · 
Posted: 16.02.2017 - 21:37  ·  #4
Procedure und interrupt in einem statement ????
Entweder ist das eine Procedure oder ein Interrupt.
Beides zusammen macht keinen Sinn auch wenn der Compiler nicht meckert.
Der Beautifier fällt ja offensichtlich auf die Schnauze.

rolf
jomixl
Benutzer
Avatar
Gender:
Posts: 225
Registered: 02 / 2008
Subject:

Re: Beautifier mag kein PCINT ....

 · 
Posted: 17.02.2017 - 12:48  ·  #5
danke für den tip .....

joachim
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 16 · Cache Hits: 15   97   112 · Page-Gen-Time: 0.023707s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI