2018-03-14课后总结

今天老师讲了一下昨天没写完的红外遥控程序,老师在for循环条件上进行了修改,将原来i的取值范围由一个变值修改成了固定值32,并且将中断子函数里面进行了优化,把定时器的开关控制加了进去,并且为了提高兼容度,将判定条件也进行了修改,最后实现了接收到的遥控器的键值在串口中显示出来。之后我编程设计利用红外遥控控制步进电机的转动,起初是将红外遥控和步进电机转动的两个程序进行移植和修改,但是一开始电机就是不转,而且电机上对应的A、B、C、D四相的红灯在程序刚烧写的时候全亮,当按遥控器“+”键时A相红灯灭,当按遥控器“-”键时A、D相红灯灭,只好进入仿真查看问题所在。在仿真里面我设置了不少断点,在断点处看我所需的量是否是所需值。结果在接收Data的值这一行代码之前,所有的值都是准确的,但是在电机转动这里就无法进行。我讲电机转动的函数单独拿出来放在主函数中运行,但是电机还是出现上述的问题。我把后改的程序与之前的步进电机程序相互比对也没看出哪里出了问题,而原步进电机程序是可以控制步进电机转动的。无奈,我正好请教了牛老师。牛老师一开始也是进行仿真测试,前面这里看起来和我遇到了一样的问题,而后他提到我的系统中断是否写了东西,跳过去一看果然是漏写了对Time值的减少处理,将这里补上之后顺利实现了利用遥控器的“+”和“-”键实现步进电机转动的控制。经过这次遇到的问题,我觉得自己的细致程度和对程序的理解还是不够的,程序设计上的经验还是太嫩了,也许编程就是一项细致而且需要依靠强大经验的活,这里我还需加强自身的能力。

你可能感兴趣的:(2018-03-14课后总结)