一种常见的单片机架构实现方式说明

原创 2018年04月16日 16:52:37
#define num 3             //任务的数量,和func_x中形参数量需对应
typedef void (*p)(void);  //定义一个函数指针
void func_1(void);        //对你的任务1进行声明
void func_2(void);        //对你的任务2进行声明
void func_3(void);        //对你的任务3进行声明











/**********************************************************************************/
随着产品功能的升级,需要添加或者删除的功能越来越多。增加了代码维护的困难程度。
采用这种架构,将添/删功能写成一个API函数,并将形参中对应API函数的名字添加/删除即可。
/**********************************************************************************/
p func_x[num]=
{
/*************************/
//运行任务test1
/*************************/
func_1,


/*************************/
//运行任务test2
/*************************/
func_2,


/*************************/
//运行任务test3
/*************************/
func_3,

/*************************/
//添加api函数
/*************************/
//对应api函数名

};












/********************************/
//任务test1具体实现
/********************************/
void func_1(void)
{
printf("运行任务1");
}
/********************************/
//任务test2具体实现
/********************************/
 void func_2(void)
{
printf("运行任务2");
}
/********************************/
//任务test3具体实现
/********************************/
 void func_3(void)
{
printf("运行任务3");
}




/**********************************************************************************/
根据你的需要,对i的值进行不同赋值,从而实现对应任务的执行
/**********************************************************************************/

int  run_test (void)
{
	
	
	unsigned int i=0;
	
	/***************/
	
	
	//i=你的赋值;
	
	/*************/
	
	//执行对应任务,注意i<num 
	
    func_x[i]();
		   
}

单片机的架构介绍

评-单片机的架构介绍 ---- 爱评才会赢    [导读]:什么是单片机的架构?单片机的架构有哪几种?本文对这个问题做了个简单的介绍。单片机的架构根据指令结构可...
  • FunkyFrog821951259
  • FunkyFrog821951259
  • 2017-06-04 11:04:53
  • 840

如何编写外贸电子商务网站产品的描述信息

把自己的商品信息准确地传递给你的客户,是运行电子商务的重要环节,也是促成客户选购产品的关键因素。对于电子商务网站来说商品的描述是必不可少,是对图片信息的重要的补充。图片传递给客户的只是商品的形状和颜色...
  • acuna1
  • acuna1
  • 2013-03-13 07:45:19
  • 763

云计算架构技术与实践

  • 2018年03月15日 23:09
  • 3.43MB
  • 下载

79 1.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?

/* 1.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法? 归并排序 0(1)的辅助空间 只进行指针操作 */ #include #include #include using nam...
  • u012605629
  • u012605629
  • 2014-10-20 22:16:22
  • 950

spring学习笔记(1)-spring依赖注入的几种方式

spring多种依赖注入的模式
  • qq_29346449
  • qq_29346449
  • 2016-03-27 21:11:46
  • 519

怎样编写一个程序,把一个有序整数数组放到二叉树中? 编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?

1.递归,把数组的中间元素作为二叉树的跟,然后递归地对左右子数组进行操作。2.我选择插入排序...
  • tianqio
  • tianqio
  • 2007-10-17 19:41:00
  • 4751

单片机c语言下lcd多级菜单的一种实现方法

图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示。它作为单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中,例如手机上的显示屏就是图形点阵液晶。采用图形点阵式液晶显...
  • godvmxi
  • godvmxi
  • 2010-12-26 13:41:00
  • 9735

五种常用排序方法

排序是计算机程序设计中一种重要的操作, 以下是五种常用的排序方法: 冒泡排序: 不解释了 快速排序 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小...
  • lendmetenyears
  • lendmetenyears
  • 2016-12-18 03:56:30
  • 241

卷积神经网络技术及发展

本文首发于微信公众号:新智元。文章内容属作者个人观点,不代表和讯网立场。投资者据此操作,风险请自担。 1 新智元编译   来源:arXiv.org   译者:闻菲、胡祥杰  ...
  • sinat_29552923
  • sinat_29552923
  • 2017-06-01 12:13:11
  • 564

spring -- aop基于xml的简单实现

1、引入jar包 :aopalliance.jar,aspecjweaver.jar 2、创建一个针对于某个关注点的切面类:如关注日志,就做LogAspect public class LogAs...
  • u014527912
  • u014527912
  • 2016-05-08 19:14:18
  • 300
收藏助手
不良信息举报
您举报文章:一种常见的单片机架构实现方式说明
举报原因:
原因补充:

(最多只允许输入30个字)