随笔分类 - MCUer
摘要:写代码的时候我的keil3中会出现光标不对齐的情况,如下图:看似光标在t后面,其实是在逗号后面,这是因为字体加粗导致的。解决办法:Edit->Configuration->colors&front->8051 editor c file(汇编就是8051 editor asm file)把element里面所有项目的style改成normal就行
阅读全文
摘要:做一个MSP430的项目,虽然430内部有硬件I2C的模块,略难,准备直接移植51的。。碰到一句代码 dat <<= 1; //移出数据的最高位 pSDA = CY; //送数据口 digitalWrite(pSCL, HIGH); //拉高时钟线CY是什么??百度了一下。。位 7: CY:进位标志。当最后一次算术操作产生进位(加法)或借位(减法)时,该位置 1。其它算术操作将其清 0。右移时最高位被移入CY。循环移八次,刚好把一字节移完。意思就是左移的时候溢出后CY会...
阅读全文
摘要:真遗憾,第二篇章没能够发表到首页上去。趁热打铁。把最终篇——代码篇给发上来。代码的设计思想请移步前两篇文章//pid.h#ifndef __PID__#define __PID__/*PID = Uk + KP*[E(k)-E(k-1)]+KI*E(k)+KD*[E(k)-2E(k-1)+E(k-2)];(增量型PID算式)函数入口: RK(设定值),CK(实际值),KP,KI,KD函数出口: U(K)*/typedef struct PIDValue{ int8 KP; int8 KI; int8 KD; int8 F; int8 BITMOV; int EK[3]; int UK; in.
阅读全文
摘要:上面一篇文章讲了一下PID算法中的三个常量大致的在PID算法中起的一个作用,但在实际的使用中,究竟应该如何调节(或者用更加专业的话说是整定)PID控制算法的三个。首先可以将KP,KI,KD三个常量全部设为一,观察一下系统的调节情况是不是过快。大致确定输出控制量的结果需要右移多少位来做最终的控制量。然后将KI,KD设为0,KP从0一直逐渐增加试探,直到被控制量有一定超调,且有一定的小震荡。此时kp算调节到差不多了。我们可以继续调节Ki,通过增大Ki使被控制量最终平稳下来的值尽可能是我们设定的值。积分量ki的调节与Kp的调节相似,从小到大调整。但要注意ki的增加会使得超调量变大,所以ki增大时kp
阅读全文
摘要:电赛训练了大半个暑假,人渐渐开始进入到了疲倦期。既然这样那就好好休息下自己也好吧。休息也不能光休息,乘机把平常写过的一些东西好好整理也好。从第一次训练开始我们就接触到了一个新的名词——PID控制理论。接触这个理论时间还是挺早的。大二某天晚上与学长“促膝交谈”时他就有跟我提起过这个算法。当初他给我说的一个应用的场合就是在智能小车两个轮子速度的控制上,通过pid使得两个轮子的速度尽可能接近相等。那个时候就感觉很纠结,速度控制直接左边慢一点就给左边加速,反之给右边加速。但真正当第一个题目(恒温水壶)做出来的时候就发现,如果用传统的方法去做控制(即温度高则不加温,温度低则加温),控制的提升速度与控制值
阅读全文
摘要:1. 不要看到别人的回复,第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。2. 初学者请不要看太多的书那会误人子弟的。先找一本好书系统的学习。很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的。3. 看帮助。不要因为很难,而自己又是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,或不够直观。4. 不要被一些专用词汇所迷惑;最根本的是先了解最基础知识。5. 不要放过任何一个看上去很简单的小问题--他们往往并不那么简单,或者可以引伸出很多知识点;不会举一反三你就永远学不会。6. 知道一点东西,并不能说明你会用
阅读全文

浙公网安备 33010602011771号