|
rain51m 发表于 2013-9-16 21:18
没学过单片机看不懂代码啊。能解释下你的代码吗,我用的是MWC LITE, 没法照抄啊
好吧,我没用过mwc lite 的板子,不知道结构咋样.
#define LEDPIN_PINMODE pinMode (13, OUTPUT);pinMode (30, OUTPUT);
#define LEDPIN_TOGGLE PINB |= (1<<7); PINC |= (1<<7);
#define LEDPIN_ON PORTB |= (1<<7); PORTC |= (1<<7);
#define LEDPIN_OFF PORTB &= ~(1<<7);PORTC &= ~(1<<7);
上面的是飞控2.2原代码,
第一行表示: 将飞控板的D13,D30脚设为输出,如果你要使用飞控板空闲输出脚连接外部LED灯,可以在此行后添加同样的代码,改过数字为你要设置的针脚.如我设的:pinMode (44, OUTPUT);就是单片机的D44输出脚.
第二行表示: 应该是闪烁上面设置的两个输出脚所连接的LED灯.因为我使用的是D44,D44在单片机上所属端口为L,所以代码为:PINL &=~(48<<5),这个后面48<<5可能解释起来有点困难.48是二进制的11000,表示第4,5位为1,其他位为0.因为一个端口PINL使用了两个脚,所以必须同时设置两个脚的状态,而不能一个一个的去设置.
第三行表示: 将上面调动连接LED灯的脚电平设为低,因为LED灯另一端连接了飞控板5V正,所以此时LED会亮.我加了PORTL &= 207; 207是二进制的11001111,表示第4,第五位为0,其他位为1.单片机输出位为0时表示低电平(0V),输出高电平的为(5V).
第四行表示: 将上面调动连接LED灯的脚电平设为高(也就是5V输出),因为LED灯另一端连接了飞控板5V正,所以此时LED两端无电压,会熄灭.与第三行的道理相同.只是上面输出低电平,这行输出高电平.
解释起来有点费劲...
|
|