Discussion in "ARM Development" started by    bonois_dailleurs    Aug 22, 2010.
Sun Aug 22 2010, 12:56 AM
#1
hi
i'm performing programs for lpc2378 with arm7TDMI , and i'm using timer0 interrupt
my IDE is keil microvision4

here is my code

#include <LPC23xx.H>
#include <stdio.h>





void isr_T0()__attribute__((interrupt("irq")))
{
FIO2SET |= 0x3;
VICVectAddr0 = 0 ;
T0IR = 0x1 ;
}

void init_T0()
{

T0TCR = 0;
T0MR0 = 1500 ;
T0MCR = 0x3 ;
FIO2DIR = 0x3 ;
FIO2MASK = 0xFF ;
VICIntEnable = 0x00000010 ;

VICVectAddr4 = (int)isr_T0 ;
}

void main()
{
init_T0() ;
T0TCR = 0x1 ;

while(1) {}
}

as you can notice i'm trying to set P2.0 and P2.1 , thing that never happens while simulating
i don't know anymore about this trouble , which makes me mad because it does'nt let me step foreward
if someone knows anymore about the probleme , please answer me
Mon Aug 23 2010, 11:36 AM
#2
keil follows a different coding style than ARM-GCC

so you have to write
void isr_T0()__attribute__((interrupt("irq")))

as

void isr_T0() __irq

and try again. i doubt why you did not get any error when building.
Tue Aug 24 2010, 08:56 PM
#3
i've tried both :
void ir_T0()__irq and void isr_T0__attribute__((interrupt'"irq")))
while debugging i've ckecked up in periphrals the state of all registers ,
for every time , the case (interrupt on MR0) is ticked , and T0IR took OXO1
but the leds 'P2.0 , p2.1' are never set to 1
so i'm asking my self a lot of questions , what am i doing ????
i can't really see a true interrupt , so i can't go foreward !!!
so if you know anymore about my trouble , pleae tell me

thank you in advance
Wed Aug 25 2010, 05:03 PM
#4
well you forgot to configure those pins as o/p

do it by setting direction on FIO2DIR.

FIO2DIR |= 0x03;
Thu Aug 26 2010, 09:59 AM
#5
i've already set pins as output by writing : FIO2DIR = 0x3 ; or even
FIO2DIR |= 0x03 ;
still the same trouble !!!
is it because i'm using an evaluation softaware downloaded from KEIL.com ??
other request have you ever written a programme including interrupts in which you saw your routine performing what did you tell it to do ??
if yes , can you give me this exemple ??

and thank you for helping me
Thu Aug 26 2010, 06:07 PM
#6
here is a small example for toggling P2.0

#include <LPC23xx.H>
#define INT_TMR0	4

void T0ISR() __irq {
	T0IR = 0x01;

	if(FIO2PIN & 0x01){
		FIO2CLR |= 0x1;
	} else
		FIO2SET |= 0x01;

	VICVectAddr = 0;
}

static void InitTimer(void){
	T0TCR = 0x02;
	T0MR0 = 0x1000;
	T0MCR = 0x03;
	
	VICVectAddr4 = (unsigned long)T0ISR;
	VICVectPriority4 = 0;
	VICIntEnable = 1 << INT_TMR0;

	T0TCR = 0x01;
}

int main (){
	FIO2DIR = 0x01;
	InitTimer();
	while(1);
}
Tags LPC23xx timer exampleLPC2378 timer0 code example
Sat Aug 28 2010, 12:28 AM
#7
even in this exemple , it doesn'e enter the isr at all
i've tried to initialise FIO2PIN |= 0x1 but without any success
i've looked into the step by step mode when debugging
may be i could find out what's the matter
and by following the arrow which indicate which part of the program is being executed , i've seen that it didn't move to isr at all so i guessed there is a problem somewhere
here is all suppositions that i've tried :
*)enabling first and then giving the adress to the interrupt vector (VICVectAddr)
*)looping just with the function init_TIMER() , because timer initialisations don't change and all the action is performed by the isr
i mean it's enabled , setting pin , disabled (loop )
*)i've notices that the case of "interrupt on MR0" is always ticked and T0IR always takes one

for conclusion i think that my programme is not correctly built and there is some detail that i can't find out and which making me just turning around

other thing i would like to thank you for helping me !!

of course if you got a solution please tell me
Sat Aug 28 2010, 07:59 PM
#8
The code i posted is checked and working..

if you are using a simulator you can simply put a breakpoint and see for yourself.

I am really not sure what exactly are you doing when testing the code i provided. Timer is configured for interrupt and reset on match, which is working fine.
Sat Aug 28 2010, 10:31 PM
#9
which IDE do you use
concerning me i'm using KEIL microvision 4 "evaluation software", downloaded from keil.com
did you try your programme on your software and did it work ??

i have always LINUX ubuntu , and i know that we can work with arm-gcc
but i dont' know if we can simulate to see the result

may be i should use another IDE just to be sure that i'm not loosing my time

thank you in advance
Mon Aug 30 2010, 09:30 PM
#10
I wrote this code for Keil uVision 4. I am attaching complete project here for your reference. check it.




also adding a screenshot from debug.

Get Social

Information

Powered by e107 Forum System

Conversation

Mon May 08 2017, 12:45 PM
ivan muvunyi
please can you send me wiring diagram for automatic control of 3 phase induction motor for production of maize flour
Wed May 03 2017, 08:39 PM
imran qureshi
hello friend
Sun Apr 30 2017, 05:49 AM
Lijin G Varghese
Can u send me the circuit diagram for Program to interface GSM Module with 8051 microcontroller (AT89C51) using PC and LCD
Fri Apr 28 2017, 03:47 PM
SANDEEP T S
I need pcb wizard 3.5 version kindly send valid link of yours
ExperimenterUK
Mon Apr 17 2017, 11:56 PM
Sorry..We had a problem with registration.Confirmation emails were not sent.Please re-register
Thu Apr 13 2017, 07:29 PM
Piyush Aughad
I want circuit & program for radar detection using Microcontroller 8051
Tue Apr 11 2017, 03:27 AM
Shabbir Ahmed
Hi Ajay ....hope you and your family all will be fine are you working on andriod aplications if yes then plz reply me
Sun Apr 09 2017, 06:33 PM
ATHULYA NAIR
Dear Sir, I need to know what are the complexity for programming in 8051 Microcontroller for three phase inverter?
Sun Apr 09 2017, 06:32 PM
ATHULYA NAIR
Dear Sir,
Sun Apr 09 2017, 04:43 AM
Rohit chandra joshi
Sir I need ur help urgently.i am trying to make pc controlled led scrolling display using 8051.when i am trying to generate hex file of the code that is given by pratik suthar.it gives the error Target not created Limit:0800h I am using keil uvision4 software. Even i have tried to burn the given hex file that is atteched with the code but my led are not glowing. Pls help me sir .i struck in this problem from last month and till now i am not able to short out the problem. Pls suggest me to solve the problem.mail me at [email protected] Thanks

Downloads

Comments

lubnakhan
Sat May 20 2017, 10:23 AM
Utsavi
Wed May 17 2017, 10:35 AM
Samimash
Tue May 16 2017, 01:15 PM
gangusa
Mon May 15 2017, 04:34 AM
raghuzala
Sun May 14 2017, 02:32 PM
Prakashlimbachiya
Sat May 13 2017, 07:34 AM
east
Fri May 12 2017, 08:16 AM
ajay24
Fri May 12 2017, 08:09 AM

Online

Guests: 45, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 37827
Newest member: lubnakhan
Forum Activity
ajay_bhargav Avatar
Posted By ajay_bhargav
Fri May 19 2017, 10:17 AM
I think you are asking in the wrong forum. We do n...
ajay_bhargav Avatar
Posted By ajay_bhargav
Fri May 19 2017, 10:16 AM
You should start with something, We will help you ...
ajay_bhargav Avatar
Posted By ajay_bhargav
Fri May 19 2017, 07:01 AM
To me it looks like your development environment i...
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu May 18 2017, 11:28 PM
Linux can be a minefield of make files, scripts an...
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu May 18 2017, 11:18 PM
Can you provide me a demo of XAG-49 counter so tha...
Utsavi Avatar
Posted By Utsavi
Thu May 18 2017, 05:57 AM
HelloThanks for reply.No the input pin is not faul...
ExperimenterUK Avatar
Posted By ExperimenterUK
Wed May 17 2017, 07:38 PM
Just from reading the data sheet you seem to doing...
Utsavi Avatar
Posted By Utsavi
Wed May 17 2017, 11:01 AM
HelloI am working with PXAG49KBA. In my project I ...
Samimash Avatar
Posted By Samimash
Wed May 17 2017, 04:37 AM
thank you for your reply friend 'cc1' is a file ac...
ExperimenterUK Avatar
Posted By ExperimenterUK
Tue May 16 2017, 05:05 PM
I'm sure this is a compiler / Linux problem.In Lin...