PIT设置_中断优先级设置__MK20DX128VLH5_K20系列
来源:互联网 发布:linux查看ftp根目录 编辑:程序博客网 时间:2024/06/06 02:25
/* cpu:MK20DX128VLH5 */#include "MK20D5.h"/* 中断优先级分组宏 */#define NVIC_PriorityGroup_0 ((uint32_t)0x7) /*!< 0 bits for pre-emption priority 4 bits for subpriority */ #define NVIC_PriorityGroup_1 ((uint32_t)0x6) /*!< 1 bits for pre-emption priority 3 bits for subpriority */ #define NVIC_PriorityGroup_2 ((uint32_t)0x5) /*!< 2 bits for pre-emption priority 2 bits for subpriority */ #define NVIC_PriorityGroup_3 ((uint32_t)0x4) /*!< 3 bits for pre-emption priority 1 bits for subpriority */ #define NVIC_PriorityGroup_4 ((uint32_t)0x3) /*!< 4 bits for pre-emption priority 0 bits for subpriority */void GPIOInit(void);void PITInit(void);int main(void){ //时钟初始化在“systm_MK20D5.c”中配置为48M GPIOInit(); PITInit(); while(1) { }}void GPIOInit(void){ SIM->SCGC5 |= SIM_SCGC5_PORTA_MASK | SIM_SCGC5_PORTC_MASK; //开端口时钟门控 /* PA.2、PC.3、PC.4配置为通用IO */ PORTA->PCR[2] &= ~PORT_PCR_MUX_MASK; PORTA->PCR[2] |= PORT_PCR_MUX(1); PORTC->PCR[3] &= ~PORT_PCR_MUX_MASK; PORTC->PCR[3] |= PORT_PCR_MUX(1); PORTC->PCR[4] &= ~PORT_PCR_MUX_MASK; PORTC->PCR[4] |= PORT_PCR_MUX(1); /* PA.2上拉,PC.3下拉 */ PORTA->PCR[2] |= PORT_PCR_PE_MASK; PORTA->PCR[2] |= PORT_PCR_PS_MASK; PORTC->PCR[3] |= PORT_PCR_PE_MASK; PORTC->PCR[3] &= ~PORT_PCR_PE_MASK; /* 端口方向配置:1-输出,0-输入 */ PTA->PDDR |= 1 << 2; //PA.2 PTC->PDDR |= 1 << 3; //PC.3 PTC->PDDR &= ~(1<<4); //PC.4 /* 端口初始值设定 */ PTA->PCOR |= 1 << 2; //PA.2 = 0 PTC->PSOR |= 1 << 3; //PC.3 = 1 /* 中断配置:PC.3下降沿中断 */ PORTC->PCR[3] &= ~PORT_PCR_IRQC_MASK; PORTC->PCR[3] |= PORT_PCR_IRQC(0x0A); // /* 中断优先级配置 */ NVIC_SetPriority(PORTC_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_1, 0, 1)); /* 使能中断 */ NVIC_EnableIRQ(PORTC_IRQn);}/* PIT0配置 */void PITInit(void){ SIM->SCGC6 |= SIM_SCGC6_PIT_MASK; //PIT模块时钟 PIT->MCR &= ~PIT_MCR_MDIS_MASK; //PIT时钟使能,该位比较特殊,对应位为“0”时使能 PIT->CHANNEL[0].LDVAL = 48000000-1; //周期设置为1s PIT->CHANNEL[0].TCTRL |= PIT_TCTRL_TIE_MASK; //使能中断 /* 中断优先级配置 */ NVIC_SetPriority(PIT0_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_1, 0, 2)); /* 使能中断 */ NVIC_EnableIRQ(PIT0_IRQn); PIT->CHANNEL[0].TCTRL |= PIT_TCTRL_TEN_MASK; //使能定时器,定时器开始运行}/* PIT0中断响应 */void PIT0_IRQHandler(void){ /* 清中断标志 */ PIT->CHANNEL[0].TFLG |= PIT_TFLG_TIF_MASK; /* PA.2翻转 */ PTA->PTOR |= 1 << 2;}/* PORTC中断响应 */void PORTC_IRQHandler(void){ /* 清中断标志 */ PORTC->ISFR |= (1<<3);}
0 0
- PIT设置_中断优先级设置__MK20DX128VLH5_K20系列
- gpio基本设置__MK20DX128VLH5_K20系列
- 一起学CC3200系列教程之中断优先级设置
- STM32中断—优先级设置
- STM32 对于NVIC中断优先级的设置
- stm32 设置systick中断抢先式优先级
- stm32(二) stm32中断优先级的设置
- stm32(二) stm32中断优先级的设置
- stm32(二) stm32中断优先级的设置
- STM32 中断——优先级设置
- stm32 设置systick中断抢先式优先级
- stm32 设置systick中断抢先式优先级
- FreeRTOS CortexM3 M4中断优先级设置总结
- stm32 设置systick中断抢先式优先级
- STM32F4设置NVIC中断优先级分组
- stm32 设置systick中断抢先式优先级
- PWM例程__MK20DX128VLH5_K20系列
- MCF52259 PIT中断
- 负载均衡服务器的基本功能和实现原理
- img 与 input 对齐
- java中Class对象
- php实现双链表的删除和插入节点
- 云计算资源分享与下载
- PIT设置_中断优先级设置__MK20DX128VLH5_K20系列
- win8.1,mysql免安装版安装及使用问题
- mybatis入门基础(五)----动态SQL
- 我与英语技术书籍
- 控制相机拍照
- 架构设计(ASP.NET MVC+Knockout+Web API+SignalR)
- 关于使用INewLineFeedback创建线段
- 安装VisualSVN server
- 微软平台开发技术蓝图