- void car_stop()
- {
- gpio_bits_write(GPIOB,GPIO_PINS_8,FALSE);
- gpio_bits_write(GPIOB,GPIO_PINS_9,FALSE);
- gpio_bits_write(GPIOA,GPIO_PINS_4,FALSE);
- gpio_bits_write(GPIOA,GPIO_PINS_5,FALSE);
- }
- void car_advence()
- {
- gpio_bits_write(GPIOB,GPIO_PINS_8,TRUE);
- gpio_bits_write(GPIOB,GPIO_PINS_9,FALSE);
- gpio_bits_write(GPIOA,GPIO_PINS_4,TRUE);
- gpio_bits_write(GPIOA,GPIO_PINS_5,FALSE);
- }
- void car_back()
- {
- gpio_bits_write(GPIOB,GPIO_PINS_8,FALSE);
- gpio_bits_write(GPIOB,GPIO_PINS_9,TRUE);
- gpio_bits_write(GPIOA,GPIO_PINS_4,FALSE);
- gpio_bits_write(GPIOA,GPIO_PINS_5,TRUE);
- }
- void car_left()
- {
- gpio_bits_write(GPIOB,GPIO_PINS_8,FALSE);
- gpio_bits_write(GPIOB,GPIO_PINS_9,TRUE);
- gpio_bits_write(GPIOA,GPIO_PINS_4,TRUE);
- gpio_bits_write(GPIOA,GPIO_PINS_5,FALSE);
- }
- void car_right()
- {
- gpio_bits_write(GPIOB,GPIO_PINS_8,TRUE);
- gpio_bits_write(GPIOB,GPIO_PINS_9,FALSE);
- gpio_bits_write(GPIOA,GPIO_PINS_4,FALSE);
- gpio_bits_write(GPIOA,GPIO_PINS_5,TRUE);
- }
- void car_gpio_init()
- {
- gpio_init_type gpio_init_struct;
-
- /* enable the led clock */
- crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK|CRM_GPIOB_PERIPH_CLOCK, TRUE);
-
- /* set default parameter */
- gpio_default_para_init(&gpio_init_struct);
-
- /* configure the led gpio */
- gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
- gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
- gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
- gpio_init_struct.gpio_pins = GPIO_PINS_4|GPIO_PINS_5;
- gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
- gpio_init(GPIOA, &gpio_init_struct);
- gpio_init_struct.gpio_pins = GPIO_PINS_8|GPIO_PINS_9;
- gpio_init(GPIOB, &gpio_init_struct);
- car_stop();
- }
定义小车使用的IO口。然后我们使用其中的串口透传来做吧,AT 模式,应该是需要自己进行定义的,不然始终就只能解析三个命令。
串口透传在接收中进行函数解析。这里就接收一位,所以直接在头文件中定义下接收长度。
剩下就是QT开发了,QT下此设备属于低功耗蓝牙,我们找个例程搞定他即可。
其串口透传两个特征,需要QT程序判断,不然连接上也不能发送。
最后看下视频吧。