NXP与STM32单片机程序架构

本文深入探讨了NXP和STM32单片机的程序架构,包括它们的启动流程、内存布局、中断服务程序以及固件库的使用。通过实例分析,揭示了两种单片机在编程语言和开发环境上的异同,为读者提供了理解和优化程序设计的宝贵见解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*======================
时间:2020.4.29
版本:V1.0
作者:
+++++++++++++++++++++++*/
//(1)关于定时器使用
/*======================
各单片机型号不同*.h文件不同
定时器内添加
ptc.h    //NXP单片机一般使用
timer.h  //STM单片机一般使用
=======================*/
typedef struct _TP{
//INPUT  输入
	unsigned short  task01;
	unsigned short  task02;
	unsigned short  task03;
	unsigned short  task04;
	unsigned short  task05;
	unsigned short  task06;
	unsigned short  task07;	
	unsigned short  task08;
	unsigned short  task09;	
	unsigned short  task10;		
//OUTPUT 输出
	
//SYSTEM 系统使用	
	
}TP;

extern TP TP_1ms;

/*======================
各单片机型号不同*.c文件不同
定时器内添加
ptc.c    //NXP单片机一般使用
timer.c  //STM单片机一般使用
=======================*/
TP TP_1ms;

void RIT_DriverIRQHandler(void) //NXP单片机 TIM1中断 1ms定时中断
{
   PIT_FLAG_CLEAR;  //清除TIMx更新中断标志 
   
   TP_1ms.task01++;
   TP_1ms.task02++;
   TP_1ms.task03++;
   TP_1ms.task04++;
   TP_1ms.task05++;
   TP_1ms.task06++;  
   TP_1ms.task07++;
   TP_1ms.task08++;  
   TP_1ms.task09++;
   TP_1ms.task10++;     
}

//定时器3中断服务程序
TP TP_100ms;
void TIM3_IRQHandler(void)   //STM32单片机 TIM3中断 100ms定时中断
{
  if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //检查TIM5更新中断发生与否
  {
    TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //清除TIMx更新中断标志 

    TP_100ms.task01++;
    TP_100ms.task02++;
    TP_100ms.task03++;
    TP_100ms.task04++;
    TP_100ms.task05++;
    TP_100ms.task06++;  
    TP_100ms.task07++;
    TP_100ms.task08++;  
    TP_100ms.task
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

语言与存在的顶点.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值