We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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); }
Andy Neil said:ARM simply license the designs of CPU cores to chipmakers
These designs are commonly known as "Intellectual Property" - or "IP" for short.(not to be confused with "IP" for "Internet Protocol").
https://en.wikipedia.org/wiki/Arm_Holdings#Business_model
ARM do also license other types of IP besides just the CPU cores.
Andy Neil said:The chipmakers incorporate ARM's CPU design into their microcontrollers, along with other components of their own, proprietary, design - such as Timers, IO, etc
These other designs are also commonly referred to as "IP".
This is the IP which distinguishes one manufacturer's ARM-based microcontroller from another manufacturer's microcontroller based on the same ARM core.
You will often find that manufacturers re-use such IP across multiple products.