#include <stdio.h>
//利用Switch编写状态机
//警告:单片机中编写程序时,printf("\n")应当删去
/*
* Name : void Cal_Back_Function_1/2/3/4(void)
*
* Function : 不同状态的执行函数
*
* brief : 下面是定义了四个不同的执行函数,只需要在其中填入相应的函数操作;
*
*
*/
void Cal_Back_Function_1(void)
{
printf("状态1所要执行的操作\n");
}
void Cal_Back_Function_2(void)
{
printf("状态2所要执行的操作\n");
}
void Cal_Back_Function_3(void)
{
printf("状态3所要执行的操作\n");
}
void Cal_Back_Function_4(void)
{
printf("状态4所要执行的操作\n");
}
/*
* Name : Handle_Function(void *p(void))
*
* Function : 状态机执行函数
*
* brief : 利用回调函数的方式传入参数(含糊)
*
*
*/
void Handle_Function(void (*p)(void) )
{
(*p)();
}
void main()
{
int State=1;
while(1)
{
switch(State)
{
case 1:
printf("this is 状态1\n");
Handle_Function(Cal_Back_Function_1);
State=2;
C语言—Switch编写单片机状态机程序
最新推荐文章于 2024-06-10 18:47:22 发布