注册会员
- 积分
- 191
- 威望
- 118
- 贡献
- 43
- 兑换币
- 52
- 注册时间
- 2013-2-17
- 在线时间
- 15 小时
- 毕业学校
- 深圳大学
|
jack_channel 发表于 2013-5-15 12:09
是这个思想
谢谢大神!另外,我想请教下就我这个程序
void scan(void)
{
int i,j;
PORTA_PA0=1;
PORTA_PA1=1;
PORTA_PA2=1;
while(1)
{
//------------------------------------------
if(laserchannel==0) //没扫描到黑线
{
PWMDTY01 = 1555; //舵机不偏转
PWMDTY7 =95;
}
//------------1----4------7------10-------------------------------------
for(i=0;i<20;i++)
{
for(j=0;j<100;j++)
{
PORTA_PA0=0; //点亮1 ,4,7,11 激光
PIT0_init(); //延时
PORTA_PA0=1; //关闭1,4,7,11
PIT0_init(); //延时
if( PORTB_PB0==1) //若B0收到信号
{
laserchannel=1;
PWMDTY01 = 1477; //舵机角度向右1 (个等级1~6,微偏到极偏
PWMDTY7 =55;
}
else
laserchannel=0;
//--------------------------
if( PORTB_PB1==1) //若B1收到信号
for循环里面的i和j的值太小的时候,会不会影响到接收管的接收?因为我实际试验的时候发现i和j数值小一点,就是循环次数没那么多的时候,接收管接收不到反射信号(照到白色路径时)。但是我把循环次数加大的时候又可以接收到。按道理不是应该每次发射的光线都能被反射接收到收到的么?关闭语句后面的程序会不会影响到激光管的发射频率?
|
|