#include "MyIncludes.h"
int main(void)
{
System_Init();
LED_Init();
while(1)
{
LED_Flash();
}
}
首先应该知道.h文件类似粘连剂,也可以说是驱动文件,一个工具箱。比如MyIncludes.h
具体如何实现还是看.c文件。
首先看main.c文件的main函数部分。
系统初始化,小灯初始化,小灯闪烁。
步骤很清晰。
#include "MyIncludes.h"
u16 sys_cnt = 0;
void systick_isr(void)
{
if(sys_cnt < 1000) sys_cnt++;
else
{
sys_cnt = 0;
HAL_GPIO_TogglePin(GPIOI,GPIO_PIN_1);
}
}
int main(void)
{
System_Init();
LED_Init();
SysTick_Init(systick_isr);
while(1)
{
}
}
这个程序的要点是:在中断服务函数里面加上这句,
if(SysTick_Info.Operation != NULL) SysTick_Info.Operation();
建立一个结构体,里面包括一个函数。
typedef struct
{
void (*Operation)(void); //中断中运行的函数
}_SysTick_Info;
_SysTick_Info SysTick_Info;
其中一些重要的名词:中断服务函数,中断回调。