书写规范(针对我个人而言,并不适合所有人,下面是举例说明)
分析问题,列出核心需求
对应功能分析初始化
细化到开发流程图中
(如有建议,欢迎补充~)
问题案例(有问题应该会更新)
功能需求:在定时器开发基础上,实现使用中断的精确延时LED闪烁。
如果判断flag的结果不为0的时候,采取“将flag置0”的操作,会和TIM2中断服务程序产生冲突。
整个程序的运行过程中,主程序是持续循环运行。而在主程序运行过程当中,会不断查询flag的值,并进行判断。如果采取“将flag置0”的操作,可能会出现这么几种情况:
2号判断先于1号判断执行→flag刚刚置1,又被置0,会破坏500ms延时的执行。
1号判断先于2号判断执行→貌似好像没有影响(但其实当flag=1时,1号判断会反复执行,不会进入下面的程序,而TIM2中断服务程序中也有可以“将flag置0”的操作)
故“将flag置0”的操作要舍弃。