41 lines
1.2 KiB
C
41 lines
1.2 KiB
C
|
|
#include "stm32f10x.h" // Device header
|
|||
|
|
#include "Delay.h"
|
|||
|
|
#include "OLED.h"
|
|||
|
|
#include "Timer.h"
|
|||
|
|
|
|||
|
|
uint16_t Num; //定义在定时器中断里自增的变量
|
|||
|
|
|
|||
|
|
int main(void)
|
|||
|
|
{
|
|||
|
|
/*模块初始化*/
|
|||
|
|
OLED_Init(); //OLED初始化
|
|||
|
|
Timer_Init(); //定时中断初始化
|
|||
|
|
|
|||
|
|
/*显示静态字符串*/
|
|||
|
|
OLED_ShowString(1, 1, "Num:"); //1行1列显示字符串Num:
|
|||
|
|
|
|||
|
|
while (1)
|
|||
|
|
{
|
|||
|
|
OLED_ShowNum(1, 5, Num, 5); //不断刷新显示Num变量
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 函 数:TIM2中断函数
|
|||
|
|
* 参 数:无
|
|||
|
|
* 返 回 值:无
|
|||
|
|
* 注意事项:此函数为中断函数,无需调用,中断触发后自动执行
|
|||
|
|
* 函数名为预留的指定名称,可以从启动文件复制
|
|||
|
|
* 请确保函数名正确,不能有任何差异,否则中断函数将不能进入
|
|||
|
|
*/
|
|||
|
|
void TIM2_IRQHandler(void)
|
|||
|
|
{
|
|||
|
|
if (TIM_GetITStatus(TIM2, TIM_IT_Update) == SET) //判断是否是TIM2的更新事件触发的中断
|
|||
|
|
{
|
|||
|
|
Num ++; //Num变量自增,用于测试定时中断
|
|||
|
|
TIM_ClearITPendingBit(TIM2, TIM_IT_Update); //清除TIM2更新事件的中断标志位
|
|||
|
|
//中断标志位必须清除
|
|||
|
|
//否则中断将连续不断地触发,导致主程序卡死
|
|||
|
|
}
|
|||
|
|
}
|