C 语言 还是类C语言问题? 点击:1101 | 回复:12



麻省理工

    
发表于:2012-01-04 23:56:19
楼主
求助帖50分-已结帖
请高手帮我看看下面是什么语言编写的?怎么去学习啊? IF v【PD_Flags+p_cx】.CM_O_fset_Kurven = H ; uebernehmen ? { SET p_tmp10 = 360000 * vEcc_Cycles / 600 ; in 1/1000 Grad !!!!!!!!!! jump sp_set_cushion_force_curve WAIT TIME 1000 IF v【oMX4_ok_0+ p_cx】 = 0 { SET oMX4_ok = L } set v【PD_Flags+p_cx】.CM_O_fset_Kurven = L AXSET p_axesIF PInputs.【p_cx*O_i_Offset+O_iConditionManuel】 = H{ ;*********************************** ; Movimiento del cojín hacia arriba ;********************************** L_Posicionado3000;! IF PInputs.【p_cx*O_i_Offset+O_icush_up】 = H;! {;! ;*-----------------------------------------------------*;! ;* move first a litle bit if below 3 mm;! ;*-----------------------------------------------------*;! set p_ax = p_min_x;! jump sp_calc_Axis_Number;! if (n【p_axNo】.Sist < 1500);! {;! set p_tmp1 = 3000 ; home pos.;! break p_axes;! set p_ax = p_min_x;! while p_ax <= p_max_x ; command all cushion axes;! {;! POS C A p_ax = p_tmp1;! set p_ax = p_ax << 1;! };! cont p_axes;! WAIT PInputs.【p_cx*O_i_Offset+O_icush_up】 = L || f.inpos & p_axes = p_axes;! STOP p_axes;! JUMP L_Posicionado3000;! }IF v【PD_Flags+p_cx】.CM_O_fgoFullUpPos = H { SET p_tmp2 = PD【p_cx*PD_Offset+PD_O_work_height】 + set_gap SET v【cush_home_O+p_cx】 = p_tmp2 break p_axes set p_ax = p_min_x while p_ax <= p_max_x { POS C A p_ax = p_tmp2 set p_ax = p_ax << 1 } cont p_axes WAIT v【PD_Flags+p_cx】.CM_O_fgoFullUpPos = L || f.inpos & p_axes = p_axes STOP p_axes SET v【PD_Flags+p_cx】.CM_O_fgoFullUpPos = L }


楼主最近还看过



zhxl198808

  • 精华:7帖
  • 求助:14帖
  • 帖子:79帖 | 3915回
  • 年度积分:0
  • 历史总积分:22219
  • 注册:2008年9月06日
发表于:2012-01-05 09:02:07
1楼

楼主这是C语言,

:工欲善其事,必先利其器
这里介绍几个学习C语言必备的东东:
一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。
一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。
除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。

2:葵花宝典
学习计算机语言最好的方法是什么?答曰:读程序。
没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。

3:登峰造极
写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。
是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。

青岛黄工

  • [版主]
  • 精华:5帖
  • 求助:89帖
  • 帖子:171帖 | 4776回
  • 年度积分:0
  • 历史总积分:24301
  • 注册:2007年4月02日
发表于:2012-01-05 09:23:02
2楼

开始刊的时候以为乱码了呢

梦回唐朝

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 479回
  • 年度积分:0
  • 历史总积分:3612
  • 注册:2010年11月27日
发表于:2012-01-05 09:30:36
3楼
这是 c语言吗,不像啊!这粘贴的够乱的!

通讯网

  • 精华:11帖
  • 求助:2帖
  • 帖子:464帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-01-05 10:42:52
4楼

 这就是C语言:

你不要被其外表迷惑,比如:

IF v【PD_Flags+p_cx】.CM_O_fset_Kurven = H ; uebernehmen ?

 

其中:v【PD_Flags+p_cx】.CM_O_fset_Kurven 就相当于X1.2的意思,H是高,L是低。

相当于 IF x1.2=true then........当然前面要先定义一下,X1.2是布尔量。(Boolean)。

只不过这个是德国的C吧。。。。

 

其实别把程序看的那么复杂,其实现在所有的程序都是,围绕字,长字,短字,位,浮点数,字符串。。等。。。外加,if then , goto, jump ,while do,等等实现的,没有太大区别。。

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:27帖 | 3065回
  • 年度积分:0
  • 历史总积分:12427
  • 注册:2008年9月18日
发表于:2012-01-05 12:49:32
5楼

1楼分析的还是比较 深入 ,  但我对您的

" 要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了"

这句话 我不敢苟同, 莫非您是 写过 DDK 的?

 

蓝光芒

  • 精华:0帖
  • 求助:3帖
  • 帖子:15帖 | 122回
  • 年度积分:0
  • 历史总积分:431
  • 注册:2006年9月25日
发表于:2012-01-05 13:52:37
6楼

不像C

这里还有 in这样的字符,不像变量,C也没这样的关键字

! 用了很多,C里 ! 是用来取反的,没有这样!!!!!!!!!用的吧

通讯网

  • 精华:11帖
  • 求助:2帖
  • 帖子:464帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-01-05 14:34:21
7楼

引用 蓝光芒 的回复内容:不像C这里还有 in这样的字符,不像变量,C也没这样的关键字! 用了很多,C里 ! 是用来取反的,没有这样!!!!!!!!!用的吧


 ; in 1/1000 Grad !!!!!!!!!!

你说这个吧??在;后面是注释,有的是 ‘ ,有的是\\\,或者///。。。这里是;,不是语句。。。
; in 1/1000 Grad !!!!!!!!!! 全是注释,你再写些别的也无所谓!#%……%&%&%&

通讯网

  • 精华:11帖
  • 求助:2帖
  • 帖子:464帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-01-05 14:39:19
8楼

jump sp_calc_Axis_Number;!

从这里看应该是伺服驱动器的程序吧??

 

通讯网

  • 精华:11帖
  • 求助:2帖
  • 帖子:464帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2012-01-05 17:07:28
9楼
大致能看出这个意思:--------这是个伺服找零程序, v【PD_Flags+p_cx】.CM_O_fset_Kurven 是定位点,这点肯定连着一个传感器,当这点=H,即接通,表示到位,给单位p_tmp10赋值,从p_tmp10 = 360000 * vEcc_Cycles / 600 ; in 1/1000 Grad !!!!!!!!!! 来看,应该是每圈600个脉冲,行程总长360000脉冲。。里面的p_tmp1,p_tmp2等,就是中间需要定位的点了。。

  • 精华:0帖
  • 求助:1帖
  • 帖子:14帖 | 23回
  • 年度积分:0
  • 历史总积分:206
  • 注册:2006年11月06日
发表于:2016-10-20 21:53:33
10楼

这个真是出于高手之手啊,牛逼的很

weishaojun125

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 761回
  • 年度积分:0
  • 历史总积分:491
  • 注册:2008年2月15日
发表于:2017-08-16 13:04:22
11楼


回复内容:

对: zhxl198808 楼主这是C语言,:工欲善其事,必先利其器 这里介绍几个... 内容的回复!

赞一个!

Sake.

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 71回
  • 年度积分:0
  • 历史总积分:112
  • 注册:2018年7月04日
发表于:2018-07-04 11:32:54
12楼

谢谢楼主,希望大家共同探讨,共同进步

SSI ļʱ