> Hi guys,
>
> So I have two output compare interrupts setup such that the handlers
> look up in a circulating table (one for each handler) the state a port
> should be in and when the next interrupt should occur, then sets the
> port and loads the next interrupt into TC#. This table is dynamic
> based on user input. Anyway everything seems to work as I planned
> when interrupts are not occurring at a high speed rate and or close
> together. However, my needs are for a very close, sometimes the same
> time, interrupts. The issue (confusion) I'm experiencing is when I
> need two interrupts to occur at the same time and then the two same
> interrupts to occur again .1 mS later. So I know I'm limited by the
100uS is a lot even for 8MHz busclock. Your circulating table etc should
work.
> length of my interrupt handler, however here's the weird thing. I
> would expect in this scenario to see:
> OC_0 Interrupt occur at T(0mS)
> 0C_1 Interrupt occur at T(0mS+cycle time of OC_0_HANDLER)
> OC_0 Interrupt occur at T(.1mS, assuming cycle time <.1ms)
> 0C_1 Interrupt occur at T(.1mS+cycle time of 0C_0_Handler)
>
I see nothing wrong above.
> However what I see is this:
> OC_0 Interrupt occur at T(0mS)
> OC_0 Interrupt occur at T(.1mS)
> 0C_1 Interrupt occur at T(.1mS+some arbitrary time)
> 0C_1 Interrupt occur at T(.1mS+some arbitrary time+.1uS)
>
Let me guess, is this some arbitrary time close to 2^16 * timer_tick? I
think it's just a well known wrong flag-clear sequence. Show us your code,
at least show how are you clearing timer flags.
Edward
> So I haven't been a good engineer and calculated exactly the cycle
> time of the handlers, but I'm assuming since, even though in the wrong
> order, I see 0C_0 occur twice within the distance they're programmed
> to occur at, my cycle time is less than .1mS, which will suffice for
> my tolerance.
>
> Any ideas to why I might be seeing this?
> Thanks,
> Matt
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>
Hello All-- this is my first time transmitting to this group. I'm trying to get CAN interrupts working on HC12BC32 using ImageCraft ICC12 I've added these to...
Subroutines are called by the normal stream of software execution. A return address (address of the instruction following the BSR/JSR/CALL instruction) is...
the vector table associates a predetermined address (the vector) with a "function name", when the interrupt is generated the table goes to the associated...
Thanks for all the feedback, Its becomming a little more clear to me, but the one thing that I have not understood is how to invoke these interrupts. What if...
... Hi Joe, It seems you missed the previous explanations. With one exception Interrupts are hardware functions. A common one is say receiving chars from a...
One more comment on this subject: once you have defined the interrupt routine, you do not call it! That is all done for you in the background and depends on...
these ideas mentionned are very helpful although I'm a little unclear on the term "message" used. ... use an input or output line to generate an int signal as...
I don't remember all the vector address definitions. Go to the motorola developer site and get a copy of the documentation and search for vector table or...
I am using message in the context of a CAN message frame which is sent via a CAN Tx flag to enable the CAN Tx int. It was just one of the types of ints that I...
... Hi Sydney, I run into trouble with that loop. Since these newfangled instructions are er, new to me, I am not 100 percent sure, but when I used that loop I...
hi I am using imagecraft ICC12 V6 for programing my controller. but I had series problem in my computer then I had to format it but I forgat to trnsfer my...
hi I am using imagecraft ICC12 V6 for programing my controller. but I had series problem in my computer then I had to format it but I forgat to trnsfer my...
Hi Suhaib, license@... works "Programmers Hours," e.g. 11AM-7PM Mon-Fri. I work all days and nights :-) You can email the hex string you see, along...
Richard F. Man
richard@...
Nov 23, 2003 10:05 pm
I have been using AS 12 and the * is a shorthand way to set a label to go back to the same line -- I have used it on all the 68HC12 microcontrollers A4, B32,...
... As I said, I am no expert on the new instructions so correct me if I am wrong, but as I understand that one, it does a port value compare with #$01 and...
As far as I can tell the * simply is a shorthand notation for the present PC value and this polling technique is used, with or without the shorthand notation,...
Hi, I am using MC9S12DP256 Controller. Kindly let me know, how do I handle the timer interrupt. what is the interrupt function to handle the timer interrupt. ...
... [using CodeWarrior] Steps: 1. Read Freescale docs to understand what an interrupt is, and how it should be used. There is a specific section on timer...
Hi guys, So I have two output compare interrupts setup such that the handlers look up in a circulating table (one for each handler) the state a port should be...
... 100uS is a lot even for 8MHz busclock. Your circulating table etc should work. ... I see nothing wrong above. ... Let me guess, is this some arbitrary time...
Edward, I'm not 100 % sure what the arbitrary time is. One thing is I'm on a 2MHZ Bus clk, I would like to jump up to 16, but not sure if I can just do that ...
sorry for delay ... Your code sets timer fot fast flag clear (FFC). I wrongly assumed you are using normal flag clear sequence. And regarding normal flag clear...
Edward, Thanks for the info, definitely some useful information in there that I would have never known! Long story short, I rewrote my code to only use one ...