立下flag

对,这是第一次写自己在学习c语言方面的一些总结,以及c基础的常见的一些代码的编写。
首先做一下自我介绍吧,作为一个刚刚 入门2年的并且还在上大三的计算机专业的人员,如何正确地去学习好一门最基础的语言,毫无疑问地时学习好这门语言就是不断的去敲代码,应该在大学几年代码量应当达到10万行吧。只要做到持之以恒,自己的能力肯定会上去的,毕竟程序员就是要不断的去熟悉并且使用这些与计算机交互的语言。
首先自己作为一个写了两年的代码的菜鸟,开始从c开始入门,因为c就是所有高级语言之父,对于一个刚刚基础计算机编程的人来说对学习好c就是对以后学习别的语言打下基础。对于如何去学习c语言,我一个刚刚菜鸟是没有什么发言权的,只能记录分享自己的学习总结。计划每天用5-6个小时学习并且不断时地将自己总结的内容发布在博客上。
立下自己的flag,每天都必须花费5-6个小时的时间学习并记录自己的学习代码。以便自己能够在长时间的敲代码中增强自己的专业技能。我志在进入BAT,希望在我长时间不懈努力获得一份值得的收获。

/* * limit.c * * Created on: Apr 13, 2018 * Author: Administrator */ #include "limit.h" extern uint HighPos; // 最大高度 extern uint LowPos; // 最低高度 extern uchar M_Num; extern uchar M_Flag; extern PWM_M PWM_M1; extern PWM_M PWM_M2; extern HALL_M HALL_M1; extern HALL_M HALL_M2; extern PID_M PID_M1; extern PID_M PID_M2; extern uchar Hall_Buffer; // 停止缓冲脉冲数 extern uint Hall_Slow; // 到限位前减速 extern uchar Hall_BufferX2; // 3倍停止缓冲脉冲数 extern uint Hall_SlowX2; // 2倍到限位前减速 extern uchar Get_hall_half; extern uint M_I_Delay_cnt; void Limit_Slow(uchar m_flag, uint mhalldata,PID_M *LM_PID) //上下限位到达提前减速 { if((m_flag&0x0f)!=0) // 立柱上升 { if(mhalldata > HighPos - Hall_Slow) { M_I_Delay_cnt = 0; // 进入慢停止后不再执行遇阻回退 LM_PID->get_halltemp = Get_hall_half; } } if((m_flag&0xf0)!=0) // 立柱下降 { if(mhalldata < LowPos + Hall_Slow) { M_I_Delay_cnt = 0; // 进入慢停止后不再执行遇阻回退 LM_PID->get_halltemp = Get_hall_half; } } } uchar Get_Limit(uchar m_flag,uint mhalldata) //获取上下限位的标记 { uchar mpos_flag = 0; if((m_flag&0x0f)!=0) // 立柱上升 { if(mhalldata > HighPos) { mpos_flag = mpos_flag|0x02; } } if((m_flag&0xf0)!=0) // 立柱下降 { if(mhalldata < LowPos + Hall_Buffer) { mpos_flag = mpos_flag|0x20; } } return (mpos_flag); } uchar Limit_Off(uchar mpos_flag,uchar m_flag) // 到达限位后停止判断 { uchar pwm_step = 0; if((m_flag&0x0f)!=0) // 立柱上升 { if((mpos_flag&0x02)==0x02) //到达上限位 { pwm_step = 5; // 进入慢停止 } } if((m_flag&0xf0)!=0) // 立柱下降 { if((mpos_flag&0x20)==0x20) //到达上限位 { pwm_step = 5; // 进入慢停止 } } return (pwm_step); } void DoLimitPos(void) // 上下限位执行 { uchar pwm_step_temp = 0; if(M_Num>=1) // M1上下限位 { if((M_Flag&0x11)!=0) { HALL_M1.pos_flag = Get_Limit(M_Flag,HALL_M1.halldata); // 获取上下限位的标记 Limit_Slow(M_Flag, HALL_M1.halldata,&PID_M1); // 上下限位到达提前减速 pwm_step_temp = Limit_Off(HALL_M1.pos_flag,M_Flag); // 到达限位后停止
最新发布
03-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值