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

sachinmm
Sat Jan 31 2015, 05:23 AM
hello sir,i ask the question related to 7 segment display plz help me.
Thu Jan 29 2015, 11:24 AM
durai
I found discussion relevant to my problem (link:http://www.8051projects.net/t59199/gsm-cdma-discussion/flashing-new-firmware-in-sim900-modem.htm) but i could not find the project mentioned in that discusion
Thu Jan 29 2015, 11:21 AM
durai
Hi i am using a SIM/900A GSM modem, I want to send email with an attachement using a microcontroller but when i try to use AT_Email commands it gives me error,I think modem doesnot support those commands,is there any other way to send mail using that modem??
ajay_bhargav
Thu Jan 29 2015, 06:54 AM
@gaurav, please mail me message you're trying to post.
ExperimenterUK
Thu Jan 29 2015, 01:17 AM
bhagyesh.bhavasar/gaurav.k I can post with Firefox. Can you try other browsers ?
naqirizvi
Wed Jan 28 2015, 08:08 AM
the web theme is too much buggy and heavy , admin please change it to simple theme, so that user can browse quickly
naqirizvi
Wed Jan 28 2015, 08:07 AM
some one please share software name or ebooks related to avr
bhagyesh.bhavasar
Tue Jan 27 2015, 11:06 AM
i want to share my project but there is problem occurred during postng
bhagyesh.bhavasar
Tue Jan 27 2015, 05:58 AM
@ExperimentalUK i have used that purple button but same as previous it takes me to blank page
ExperimenterUK
Sun Jan 25 2015, 08:10 PM
This box is for chat. Post problems in a suitable forum

Downloads

Comments

sachinmm
Thu Jan 29 2015, 07:09 AM
nawfel
Sat Jan 17 2015, 07:27 AM
Rohi123
Sat Jan 10 2015, 11:00 AM
safakarici
Fri Jan 09 2015, 08:55 PM
Nikita_Pinjare
Thu Jan 08 2015, 03:10 PM
mayank058
Wed Jan 07 2015, 05:43 AM
Overeating
Tue Jan 06 2015, 05:56 AM
trancebreaker11
Sun Jan 04 2015, 07:42 AM

Online

Guests: 45, Members: 1 ...
sachinmm viewing chatbox_menu.php

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

Members: 37574
Newest member: sachinmm
Forum Activity
sankalp_s Avatar
Posted By sankalp_s
Fri Jan 30 2015, 05:40 PM
you need to remove jump statements from main progr...
mayank058 Avatar
Posted By mayank058
Fri Jan 30 2015, 07:02 AM
dear sir, please tell me how to do t...
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu Jan 29 2015, 10:41 PM
T he P89V51RD2 P1.5, P1.6, P1.7 has extra curren...
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu Jan 29 2015, 06:45 PM
@naqirizviAs you already have a thread running I t...
naqirizvi Avatar
Posted By naqirizvi
Thu Jan 29 2015, 02:11 PM
Circuit diagram i am following i am not sure is it...
naqirizvi Avatar
Posted By naqirizvi
Thu Jan 29 2015, 02:11 PM
Circuit diagram i am following i am not sure is it...
naqirizvi Avatar
Posted By naqirizvi
Thu Jan 29 2015, 02:11 PM
Circuit diagram i am following i am not sure is it...
naqirizvi Avatar
Posted By naqirizvi
Thu Jan 29 2015, 01:50 PM
Hi,I am new to programming got some issues in RFID...
sachinmm Avatar
Posted By sachinmm
Thu Jan 29 2015, 07:21 AM
hello sir, plz tell me the circuit diagram interfa...
ajay_bhargav Avatar
Posted By ajay_bhargav
Thu Jan 29 2015, 06:28 AM
Moreover I see the segment Anode is connected via ...