I am new to ARM and I am trying to produce 1 second delay using timer 0 in LPC2148. But in debug session in Keil, it is giving delay of 4 seconds with 15MHz and 5 seconds with 12 MHz. What is the issue ?
Here is my code.
#include <lpc214x.h> int main() { IODIR0 = 1; // P0.0 is output pin IOSET0 = 1; // P0.0 is high T0PR = 15000000 - 1; T0TC = T0PC = 0; T0TCR = 1; // start do { while(T0TC == 0); T0TC = 0; IOCLR0 = 1; // P0.0 is low while(T0TC == 0); T0TC = 0; IOSET0 = 1; // P0.0 is high } while(1); }
Jackzhu said:This photo is not so clearly
You mean this one:
I think you're missing the point.
The point - which is clear to see in that image - is that the actual ARM part is just a small part within the whole chip. All the rest around it is not ARM - it is the chipmaker's proprietary stuff.
Andy Neil said:from an Analog Devices part
If you actually want to find out more about that particular Analog Devices chip (and find the original diagram), go to:
https://www.analog.com/en/products/landing-pages/001/adsp-cm40x-product-family.html
Jackzhu said: I also wonder there is how many instructions in M series ARM core.
That has nothing to do with this thread!
If you want to start a separate discussion on that, start a new thread in the Cortex-M forum:
https://community.arm.com/developer/ip-products/processors/f/cortex-m-forum
But the Instruction Set is well documented - be sure to Please read the manual first!