Ccs _ View Topic - Int0 Interrupt 18f242

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ccs _ View Topic - Int0 Interrupt 18f242 as PDF for free.

More details

  • Words: 537
  • Pages: 3
CCS :: View topic - INT0 interrupt 18F242

FAQ

Forum Help Profile

Official CCS Support

http://ccsinfo.com/forum/viewtopic.php?t=25558&highlight=inte...

Search

Log in to check your private messages

Register Log in

INT0 interrupt 18F242 CCS Forum Index -> General CCS C Discussion View previous topic :: View next topic Author Blob

Message INT0 interrupt 18F242 Posted: Mon Jan 02, 2006 6:56 am

Joined: 02 Jan 2006 Posts: 3 Location: Geistingen, Limburg, Belgium

Hello, At the moment i'm trying to generate an external interrupt on the PIC 18F24. i want to generate the interrupt on pin RB0. but it seems the interrupt is not catched... the code i use is as below: #include <18F242.H> #fuses HS,NOWDT, NOPROTECT, PUT #use DELAY (clock=20000000) #use fast_io(A) #use fast_io(B) //int i; //int x; //int c; #int_ext void EXT_ISR() { output_high(PIN_A0); delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); output_high(PIN_A0); } /* main() */ void main() {

1 от 3

01.3.2007 г. 11:24

CCS :: View topic - INT0 interrupt 18F242

http://ccsinfo.com/forum/viewtopic.php?t=25558&highlight=inte...

/* Set pin A1 to be the blue led */ SET_TRIS_A(0x00); /* Allow pin B0 to be an external interrupt pin */ SET_TRIS_B(0b00010000); ext_int_edge(H_TO_L); enable_interrupts(global); enable_interrupts(int_rb); while(1) { output_high(PIN_A3); } }

Greets, Blob _________________ IMEC rulez ckielstra

Joined: 18 Mar 2004 Posts: 1334 Location: The Netherlands

Posted: Mon Jan 02, 2006 8:39 am

Code: /* Allow pin B0 to be an external interrupt pin */ SET_TRIS_B(0b00010000);

You are configuring B4 as an input but your comment says B0. Code: #int_ext void EXT_ISR() { output_high(PIN_A0); delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); delay_ms(200); output_high(PIN_A0); }

Change one of the output_high() calls to output_low(). And why do you call 6 x delay_ms(200) when one call to delay_ms(1200) would do the same? Humberto

Joined: 08 Sep 2003 Posts: 813 Location: Buenos Aires la Reina del Plata

Posted: Mon Jan 02, 2006 11:26 am

Quote: At the moment i'm trying to generate an external interrupt on the PIC 18F242. i want to generate the interrupt on pin RB0. but it seems the interrupt is not catched...

enable_interrupts(int_rb); Should be enable_interrupts(INT_EXT); I assume you have a pull-up resistor wired from +5V to PIN RB0 or: port_b_pullups(TRUE); declared in your code. It is not a good practice to use delays inside an interrupt handler !!! To 'see' the RB0 interrupt action, the following code should be enough. (If your compiler version has the output_toggle() function.)

2 от 3

01.3.2007 г. 11:24

CCS :: View topic - INT0 interrupt 18F242

http://ccsinfo.com/forum/viewtopic.php?t=25558&highlight=inte...

Code: #int_ext void EXT_ISR() { output_toggle(PIN_A0); }

or if it doesn't: Code: int8 ext_trigger; #int_ext void EXT_ISR() { output_high(PIN_A0); ext_trigger = TRUE; } void main() { while(1) { ....... your stuff ....... if(ext_trigger) { delay_ms(200); output_low(PIN_A0); delay_ms(200); ext_trigger = FALSE; } } }

Best wishes, Humberto Display posts from previous: All Posts

Oldest First

CCS Forum Index -> General CCS C Discussion

Go All times are GMT - 6 Hours

Page 1 of 1 Jump to: General CCS C Discussion You can post new topics You can reply to topics You cannot edit your posts You cannot delete your posts You cannot vote in polls

Go in in in in in

this this this this this

forum forum forum forum forum

Powered by phpBB © 2001, 2005 phpBB Group

3 от 3

01.3.2007 г. 11:24

Related Documents