c语言codesys编程,CODESYS2.3部分功能块源代码算法移植C源代码共享希...

博主分享了将CODESYS 2.3中的功能块转换为C语言源代码的过程,涉及模拟量处理、平均值计算、延时函数及手柄信号过滤等功能,用于控制比例阀的PWM输出。提供了关键函数的详细解释,并讨论了C与C++在函数调用上的区别。
摘要由CSDN通过智能技术生成

本帖最后由 jiang887786 于 2015-1-16 11:54 编辑

首先,我要说的是我读书少,表达意思不准确如有疑问请在下面的楼层提问。网上我没有搜索到类似的源代码,估计这是第一帖。由于功能块较多我不可能一次性全部发表&说明完整,可能以后我会陆续的发在下面的楼层。此功能块的原作者不知道是谁,呵呵。我只是根据IEC6113-3的标准ST语言改写成C语言。(当然,我不会C++,如果会的话我改成C++就完美了,c++在一个函数调用过程中可以一次性返回多个参数,就是类的公用部分参数吧?抱歉,书看的不多,也就不多说了。还是想啰嗦几句,哈哈。大神也可以指正我对c++的理解错误:比如c++里面有个函数(int)ACB_123){;;//许多语句…..},编译器编译时生成了(int)ACB_123)的机器码并且在单片机的某些flash存在,当其他函数调用(int)ACB_123)时编译器会分配相应的(int)ACB_123)里面使用的变量等等给系统使用,

当还有其他函数调用(int)(ACB_123)时编译器会分配相应的另一些(int)(ACB_123)里面使用的变量等等给系统使用,只是这些变量的地址不是上一次那个函数调用的变量地址了。而机器码还是原来的那部分机器码。就是你调用的再多次这个函数机器码只有这个机器码(节省flash看见相对于c来说。)而变量的地址不同了。从而返回的参数也不同了,这也是正确的结果。如果是c的话,你想在一个工程里面使用两个相同功能的函数的话,你只能吧一个函数复制成两个比如上面说的

(int)(ACB_123A){;;//许多语句…..}、

(int)(ACB_123B){;;//许多语句…..}、

(int)(ACB_123C){;;//许多语句…..}、

等等,只不过这三个(ACB_123函数内部的东西是一模一样的罢了)目前我就是这样做的,希望大神们给个高见解决我目前的窘态。哈哈!关于C&C++我就懂这么多吧。不扯了,下面开始正文。尼玛,正文都不知道扯到哪里了,让我看看想想……)花了将近2个月的时间才改写完成,最初改写是按照C51改的,最后感觉c51排不上大用场,还是用CW5.1+MC9S12XD256调试输出吧。所以现在才把这些源代码发给大家使用,(也是我兑奖K64—L5的非卡奖品想莫大承诺的,打算有时间就共享这些代码)有需要的哥们儿就顶一下哦。谢谢支持。还有,如果我侵犯原著的版权,请回帖或者告知本坛删帖,谢谢合作!谢谢大家。这里我要说的是从开始的一个模拟量输入到最后的两个u

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值