2018.7
还没有进入硕士研究生的生活,就已经被老师拉来给本科大一辅导单片机的入门课程…也是没谁了…
在无聊之余自己也玩起以前玩的TI的MSP430系列,话说自己以前也用这系列搭过蜘蛛机器人,在机器人动起来的时候还是有点成就感的。
7.24
课程结束,本科生用G2搭了一个小车来循迹比赛,赛道是师兄花的,看上去还有点复杂。一些本科生也是厉害,两个红外传感器就搞定地图。估计这就是所谓的运气和实力了。
在课程总结,和老师坐在一起,就感觉事情并没有那么简单。。。
嗯,开始套路我们准研一做循迹小车当复习单片机知识….话说,老师给我的是一种莫名的不能拒绝的感觉。所以…迷迷糊糊就答应下来了。
7.26
花了一天的时间把原来要求控速的小车接上红外来改装,按规则写代码(这里声明,我的印象里,循迹的本质是,走完所有有可能的路线或者按逻辑来走而不是特定规则,这才叫循迹),虽然车还是左摇右摆的走,但也走通了,附上代码,4红外传感。
主函数
#include "Motor.h"
void timer_init()
{
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
TA1CTL = TASSEL_2 + MC_1;
TA1CCR0 = T;
TA1CCTL1 = OUTMOD_7;
TA1CCTL2 = OUTMOD_7;
_EINT();
}
void GPIO_init(void)
{
P1DIR = 0x00;
P2DIR |= (BIT1 + BIT2 + BIT3 + BIT4);
P2OUT &= ~(BIT1+BIT3);
P2SEL |= (BIT2 + BIT4);
}
/* main.c*/
int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
timer_init();
GPIO_init();
while(1)
{
switch(flag)
{
case 0:
mode_0();
break;
case 1:
mode_1();
break;
case 2:
mode_2();
break;
case 3:
mode_3();
break;
case 4:
mode_4();
break;
case 5:
mode_5();
break;
}
}
}
驱动函数
#ifndef Motor
#define Motor