单片机模块化多输出值C函数的编程实现
2016-06-24李加明
单片机与嵌入式系统应用 2016年6期
关键词:模块化
李加明
(南京航空航天大学 2015级工科研究试验班,南京 211106)

李加明
(南京航空航天大学 2015级工科研究试验班,南京 211106)
摘要:单片机C标准编程不能实现函数的多个输出值,目前常用的全局变量法虽可变通实现,但破坏了函数的模块化原则。本文突破一些常规思维,探索出两种类型的多种模块化多输出值C函数的编程方法,并提出了新式的C函数语法规则,实现了较为规范通用的模块化多输出值C函数的编程。本方法编程思路新颖,具有较高的技术实用价值。
关键词:C函数;多输出值;模块化;MCU
引言
函数是单片机与嵌入式系统C语言程序的核心,标准C函数定义遵循y=f(x1,x2,…,xn)的数学形式,其中x1,x2,…,xn为代表函数各输入值的形式参数,y为函数唯一的输出值。函数调用以输入值实际参数代替形式参数,经运算后由return语句返回一个输出值。
但在实际应用中,往往希望函数能有多个输出值,例如用于工业控制的西门子S7-300/400可编程控制器程序中,其具有函数功能的FC、FB、SFC、SFB块均可直接实现多输出值。相比之下,标准C函数不能直接实现多输出值,其功能存在明显的不足。
当需要C函数有多输出值时,可将一个函数分为几个函数实现,但从算法和效率考虑显然极不合理。目前通常采用全局变量法变通实现:由return语句正常返回一个输出值,其余输出值均由另设的全局变量获得,但函数的模块化原则遭到了极大破坏。
实现模块化原则的任意多输出值的C函数有很大的技术需求价值,值得探索。……
登录APP查看全文
