| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3790 人关注过本帖, 1 人收藏
标题:C语言能干啥?
取消只看楼主 加入收藏
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
结帖率:88.89%
收藏(1)
已结贴  问题点数:90 回复次数:3 
C语言能干啥?
这个题目有点大,写这篇感想的原因是常常看到论坛里面有人对C语言能干啥产生疑惑,对自己能在C语言上走多远感觉困惑。所以我想就我这些年的开发经验,就C语言能干啥说点自己的想法。
    C语言与其它语言一样,都是工具,只有结合实际的问题才能产生魅力,而C语言自身的特点决定了它可以偏向底层,出色地完成实时数据处理与控制的任务。我从2002年开始接触控制系统课程,同时接触了单片机,那个时候还是用汇编在51上写代码。当时单片机上的代码纯粹是为了演示的,比如IO口点灯,AD和DA转换以及数码管显示等,而控制理论上就是一堆传递函数分析,bode图,根轨迹图等,感觉两者完全不相关。后来到了2005年,我开始用单片机开发直流电器的控制器,这个时候用上了C语言,并且实现了根据不同的PWM占空比来获得不同的电机转速,这个时候,才让我感觉C语言原来可以和控制系统开发结合在一起。虽然还是开环控制,但是总算把两者联系到了一起。
    再往后,我参与了计算机数据采集与控制的项目,就是在计算机PCI插槽上扩展一块IO板卡来实现对外设控制,当然现在PC机上很少见到PCI插槽了,但是工控机上还是有不少的PCI和ISA。PC机上都被USB占领了,并且随着USB技术本身的发展,数据吞吐量不断加大,也完全可以取代原来的PCI板卡。这个时候,我发现原来在计算机上增加IO板卡后,然后用VC写个界面,就可以做个闭环控制系统了,基本要素就是采集被控对象的位移信号,跟设定位置作差,然后推动执行机构运动。这时,感觉c语言体现在控制系统开发的各个方面了。   
    可以说,用c开发一整套控制系统,需要个人长期的能力积累,除了语言本身外,还要掌握底层硬件、控制理论等,可能基于此,一些公司将c写的控制系统软件封装,推出了控制系统快速开发的软件,比如MATLAB/xpc,Labview等,这些图形化编程可以简单拖几个框图,不用写任何c代码就完成了一个闭环控制系统的快速开发,真的比较有吸引力。但这些环境的成本都不低,并不适合任何控制系统的开发,而且实际的控制系统往往是复杂的,复杂体现在对各种突发状况的处理,同时代码本身应该有很强的扩展性,用别人封装好的模块,难以达到很好的扩展效果。并且由于是定制好的图形,里面的算法与数据细节很多是隐藏的,不利于开发者提高自身能力。
    庆幸的是,在现在的工作岗位上,整个控制算法完全是用c和汇编搭建起来的,这时,发现控制理论完全用c在实际的控制系统中体现,也终于理解了控制理论上的各种Z变换怎么变成差分方程,然后得到离散信号序列之间的关系,从而进一步变成代码的过程。
    我建了一个群,如果论坛有人对c开发控制系统有疑问,或有技术上的问题想找人探讨,欢迎在群里发言,群号是299042155,如果我知道的,会不吝和大家分享,共同进步。
搜索更多相关主题的帖子: C语言 单片机 控制系统 数码管 开发 
2014-06-14 19:28
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:0 
希望有更多的人对控制系统中的c语言感兴趣,提升c语言水平

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2014-06-16 07:36
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:0 
回复 6 楼 砖家的谎言
学生的时候开始做,大概是2005年。不过,2011年参加工作后才发现,之前写的代码可以忽略的。

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2014-06-16 18:43
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:0 
回复 13 楼 ditg
是的,CPU从上电并从0xFFFF0运行,道BIOS,到交接给MBR直到加载OS,本身就是个完美的接力赛

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2014-06-17 20:40
快速回复:C语言能干啥?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024689 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved