STM32记录按键时刻输出Excel文件到SDFlash
一、模拟时钟:
定义变量: uint16_t hour = 10;
uint16_t min = 14;
uint16_t sec = 15;
分别存放时分秒,初始化,并做外部声明,供其他函数使用;
初始化定时器TIM7,开启中断,配置为1S进一次中断:
在中断服务函数中对时间变量进行模拟时钟计时,完成模拟时钟;
二、外部中断按键检测:
开启外部中断后,检测四个按键状态
检测到对应按键按下后,将键值赋值给cmd (cmd已做extern 声明);
按键1按下则赋值1,以此类推。
三、将对应键值及按键时刻输出Excel文件到SDFlash:
Excel文件输出函数:key为调用时处理函数传入的键值;
将按键键值及按键时刻输出到同一文件KEY Pressed Time.xls;
输出格式为:按键x按下,时间:10:14:00;
Result为输出结果判断变量,等于0即成功,等于0输出ok;
主函数:
主函数处理函数DemoEXCEL:
Cmd初始值为0,
检测到不为0时(即外部中断服务函数中赋按键值之后),输出当前键值和按键时刻到Excel文件;完成要求。
四、运行结果:
按下如下按键1224313411,串口输出如下:
生成的Excel文件内容如下:
结果与预期结果相同,程序正确。