|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2024 11 29, 18:02. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Mikrovaldikliai » PIC18 external interrupt neveikia
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
|
|
|
PIC18 external interrupt neveikia |
Parašytas: 2012 03 12, 11:18 |
|
|
|
Sveiki, niekaip nepavyksta pic18f14k22 išorinę pertrauktį iškviest, t.y. nuo mygtuko RA2 vykdyt pertraukties poprogramę. Būtų šaunu jei padėtumėt
Kodas: |
/** I N C L U D E S******************************/
#include <p18cxxx.h>
/** C O N F I G U R A T I O N *******************/
#pragma config FOSC = IRC //vidinis RC rezonatorius
#pragma config WDTEN = OFF //Watchdog Off
#pragma config LVP = OFF //Low voltage program
#define sw1 PORTAbits.RA2
#define MIL PORTCbits.RC5
/** PRIVATE PROTOTYPES***************************/
void InterruptServiceHigh (void);
void InterruptServiceLow (void);
/** I N T E R R U P T S**************************/
//-------------------------------------------
//Auksto prioriteto pertraukciu vektorius
#pragma code InterruptVectorHigh = 0x08
void InterruptVectorHigh (void)
{
_asm
goto InterruptVectorHigh //jump to interrupt routine
_endasm
}
//-------------------------------------------
//Zemo prioriteto pertraukciu vektorius
#pragma code InterruptVectorLow = 0x18
void InterruptVectorLow (void)
{
_asm
goto InterruptVectorLow //jump to interrupt routine
_endasm
}
//** F U N C T I O N S ***************************/
//-----------Auksto prioriteto aptarnavimo paprograme--------
#pragma interrupt InterruptServiceHigh
void InterruptServiceHigh(void)
{
if(INTCON3bits.INT2IF == 1){ //tikrinam
MIL=1; //darom
INTCON3bits.INT2IF = 0; //isvalom
}
}
//-----------Zemo prioriteto aptarnavimo paprograme--------
#pragma interruptlow InterruptServiceLow
void InterruptServiceLow(void)
{
if(INTCON3bits.INT2IF == 1){
MIL=1;
INTCON3bits.INT2IF = 0;
}
}
/** M A I N ************************************/
void main(void)
{
OSCCONbits.IRCF2 = 1; //Vidinis RC rezonatorius
OSCCONbits.IRCF1 = 1; //nustatomas 16MHz
OSCCONbits.IRCF0 = 1;
ANSEL = 0b00000000;
ANSELH = 0b0000;
PORTA = 0;
TRISA = 0b000100; //Ra2/sw1
PORTB = 0;
TRISB = 0;
PORTC = 0;
TRISC = 0;
//konfiguruojamos pertrauktys
RCONbits.IPEN = 1; //Leidziami pertraukciu prioritetai
INTCONbits.GIEL = 1; //Leidziamos zemo prioriteto pertrauktys
INTCONbits.GIEH = 1; //Leidziamos auksto prioriteto pertrauktys
INTCON2bits.INTEDG2 =0; // int2 rising edge
INTCON3bits.INT2IE = 1; //int2 enable
INTCON3bits.INT2IP = 0; //int2 zemo prioriteto
INTCON3bits.INT2IF = 0; //isvalomas pertraukties pozymis
//INTCON2bits.RABPU=0;
//WPUA=1;
//INTCONbits.PEIE = 1;
while (1);
} |
|
|
|
|
|
|
|
PIC18 external interrupt neveikia |
Parašytas: 2012 03 13, 21:22 |
|
|
|
R2D2 rašo: |
įdėmiai nežiūrėjau, bet ar globaliai pertrauktys leidžiamos? |
Radau savo žioplą klaidą: vietoj InterruptServiceLow InterruptServiceHigh per žioplumą įrašiau InterruptVectorLow InterruptVectorHigh, db viskas veikia |
|
|
|
|
|
|
Google paieška forume |
|
|
Naujos temos forume |
|
|
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
|
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
|
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
|
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
|
LEGO
Mänguköök,
mudelautod,
nukuvanker |
|
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope |
|
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps Mods |
|
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
|
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
|
GTA 6 Weapons
GTA 6 Characters,
GTA 6 Map,
GTA 6 Vehicles |
|
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
|
|
|