Skip to content

Commit 8bd7f7d

Browse files
Update ultrasonic.c
1 parent 8af402f commit 8bd7f7d

File tree

1 file changed

+23
-23
lines changed
  • arc_design_contest/2018/XDU_Autofollowing_suitcase/src/driver/ultrasonic

1 file changed

+23
-23
lines changed

arc_design_contest/2018/XDU_Autofollowing_suitcase/src/driver/ultrasonic/ultrasonic.c

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
uint32_t dis_l,dis_r,dis_m;
66
uint32_t data_m,data_l,data_r,val,echo_m,echo_l,echo_r,rx,jishu,ji1_m,ji2_m,ji1_l,ji2_l,ji1_r,ji2_r;
77
uint32_t icount,icount_flag;
8-
static DEV_GPIO_PTR PMOD1;//超声波
9-
static DEV_GPIO_PTR PMOD3_R;//超声波
8+
static DEV_GPIO_PTR PMOD1;
9+
static DEV_GPIO_PTR PMOD3_R;
1010

1111
void delay(uint32_t z)
1212
{
@@ -19,15 +19,15 @@ static DEV_GPIO_PTR PMOD3_R;//超声波
1919
{
2020
PMOD1 = gpio_get_dev(DW_GPIO_PORT_A);
2121
PMOD1->gpio_open(0xf00);
22-
PMOD1->gpio_control(GPIO_CMD_SET_BIT_DIR_INPUT, (void *)0x100);//输入 J1*7/A8 Em
23-
PMOD1->gpio_control(GPIO_CMD_SET_BIT_DIR_OUTPUT, (void *)0x200);//输出 J1*8/A9 Tm
24-
PMOD1->gpio_control(GPIO_CMD_SET_BIT_DIR_INPUT, (void *)0x400);//输入 J1*9/A10 El
25-
PMOD1->gpio_control(GPIO_CMD_SET_BIT_DIR_OUTPUT, (void *)0x800);//输出 J1*10/A11 Tl
22+
PMOD1->gpio_control(GPIO_CMD_SET_BIT_DIR_INPUT, (void *)0x100);
23+
PMOD1->gpio_control(GPIO_CMD_SET_BIT_DIR_OUTPUT, (void *)0x200);
24+
PMOD1->gpio_control(GPIO_CMD_SET_BIT_DIR_INPUT, (void *)0x400);
25+
PMOD1->gpio_control(GPIO_CMD_SET_BIT_DIR_OUTPUT, (void *)0x800);
2626

2727
PMOD3_R = gpio_get_dev(DW_GPIO_PORT_D);
2828
PMOD3_R->gpio_open(0x30);
29-
PMOD3_R->gpio_control(GPIO_CMD_SET_BIT_DIR_INPUT, (void *)0x10);//输入 J3*1/C16 ER
30-
PMOD3_R->gpio_control(GPIO_CMD_SET_BIT_DIR_OUTPUT, (void *)0x20);//输出 J3*2/C17 TR
29+
PMOD3_R->gpio_control(GPIO_CMD_SET_BIT_DIR_INPUT, (void *)0x10);
30+
PMOD3_R->gpio_control(GPIO_CMD_SET_BIT_DIR_OUTPUT, (void *)0x20);
3131
}
3232

3333

@@ -36,8 +36,8 @@ static DEV_GPIO_PTR PMOD3_R;//超声波
3636
// timer_stop(INTNO_TIMER1);
3737

3838
PMOD1->gpio_read(&data_m, 0x800);
39-
PMOD1->gpio_write(0x800, 0x800);//输出高电平
40-
PMOD1->gpio_read(&data_m, 0x800);//读高电平
39+
PMOD1->gpio_write(0x800, 0x800);
40+
PMOD1->gpio_read(&data_m, 0x800);
4141
delay(20);
4242
PMOD1->gpio_read(&data_m, 0x800);
4343
PMOD1->gpio_write(0x000, 0x800);
@@ -49,7 +49,7 @@ static DEV_GPIO_PTR PMOD3_R;//超声波
4949
{
5050
PMOD1->gpio_read(&echo_m,0x400);
5151
icount++;
52-
if(icount>400000)//可以不用这么大的数值。3米对应的值就可以
52+
if(icount>400000)
5353
{
5454
icount_flag=1;
5555
break;
@@ -66,7 +66,7 @@ static DEV_GPIO_PTR PMOD3_R;//超声波
6666
if(icount_flag==0)
6767
{
6868
dis_m=ji2_m*0.00085;
69-
EMBARC_PRINTF("dis_m:%d\n", dis_m);//检验
69+
EMBARC_PRINTF("dis_m:%d\n", dis_m);
7070
}
7171
return dis_m;
7272
}
@@ -75,19 +75,19 @@ static DEV_GPIO_PTR PMOD3_R;//超声波
7575
{
7676
// timer_stop(INTNO_TIMER1);
7777
PMOD1->gpio_read(&data_l, 0x200);
78-
PMOD1->gpio_write(0x200, 0x200);//输出高电平
79-
PMOD1->gpio_read(&data_l, 0x200);//读高电平
78+
PMOD1->gpio_write(0x200, 0x200);
79+
PMOD1->gpio_read(&data_l, 0x200);
8080
delay(20);
8181
PMOD1->gpio_read(&data_l, 0x200);
82-
PMOD1->gpio_write(0x000, 0x200);//输出高电平
83-
PMOD1->gpio_read(&data_l, 0x200);//读高电平
82+
PMOD1->gpio_write(0x000, 0x200);
83+
PMOD1->gpio_read(&data_l, 0x200);
8484
delay(30);
8585
icount=0;icount_flag=0;
8686
while(!(echo_l==0x100))
8787
{
8888
PMOD1->gpio_read(&echo_l,0x100);
8989
icount++;
90-
if(icount>400000)//可以不用这么大的数值。3米对应的值就可以
90+
if(icount>400000)
9191
{
9292
icount_flag=1;
9393
break;
@@ -98,14 +98,14 @@ static DEV_GPIO_PTR PMOD3_R;//超声波
9898
while(!(echo_l==0x000))
9999
{
100100
PMOD1->gpio_read(&echo_l,0x100);
101-
//EMBARC_PRINTF("echo:%d\n", echo_l);//检验
101+
//EMBARC_PRINTF("echo:%d\n", echo_l);
102102
}
103103
timer_current(TIMER_1, &ji2_l);
104104
ji2_l=ji2_l-ji1_l;
105105
if(icount_flag==0)
106106
{
107107
dis_l=ji2_l*0.00085;
108-
EMBARC_PRINTF("dis_l:%d\n", dis_l);//检验
108+
EMBARC_PRINTF("dis_l:%d\n", dis_l);
109109
}
110110
return dis_l;
111111
}
@@ -114,8 +114,8 @@ static DEV_GPIO_PTR PMOD3_R;//超声波
114114
{
115115
// timer_stop(INTNO_TIMER1);
116116
PMOD3_R->gpio_read(&data_r, 0x20);
117-
PMOD3_R->gpio_write(0x20, 0x20);//输出高电平
118-
PMOD3_R->gpio_read(&data_r, 0x20);//读高电平
117+
PMOD3_R->gpio_write(0x20, 0x20);
118+
PMOD3_R->gpio_read(&data_r, 0x20);
119119
delay(20);
120120
PMOD3_R->gpio_read(&data_r, 0x20);
121121
PMOD3_R->gpio_write(0x00, 0x20);
@@ -126,7 +126,7 @@ static DEV_GPIO_PTR PMOD3_R;//超声波
126126
{
127127
PMOD3_R->gpio_read(&echo_r,0x10);
128128
icount++;
129-
if(icount>400000)//可以不用这么大的数值。3米对应的值就可以
129+
if(icount>400000)
130130
{
131131
icount_flag=1;
132132
break;
@@ -143,7 +143,7 @@ static DEV_GPIO_PTR PMOD3_R;//超声波
143143
if(icount_flag==0)
144144
{
145145
dis_r=ji2_r*0.00085;
146-
EMBARC_PRINTF("dis_r:%d\n", dis_r);//检验
146+
EMBARC_PRINTF("dis_r:%d\n", dis_r);
147147
}
148148
return dis_r;
149149
}

0 commit comments

Comments
 (0)