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更新事件的中断标志位
|
||
//中断标志位必须清除
|
||
//否则中断将连续不断地触发,导致主程序卡死
|
||
}
|
||
}
|