总结:根据前面的讨论,初始化传感器引脚,读取传感器状态,编写控制逻辑。 该传感器返回数字信号。 1 输入模式 输入浮动输入 上拉输入 下拉输入 模拟输入 使用输入上拉模式,因为传感器返回状态。
前言:
上一篇“传感器初始化”连接到引脚、读取传感器状态并写入控制逻辑。 该传感器返回数字信号 (0/1)。
1. 四种输入模式:
输入悬空 输入上拉 输入下拉 模拟输入
传感器返回0/1状态,因此输入用于向上模式。
2. 示意图:
3.请参阅相关手册。
这四个引脚没有特殊功能。
4.附加代码
main.c
#include "motor.h"#include "stdio.h"#include "lay.h"#include " stm32f10x.h"#include "followline.h" u8 UART3_data,UART1_data; u8 UART3_rcv[20],UART3_rcv_count; u8 UART1_rcv[50],UART1_rcv_count,Uart1_finish;int main(void){lay_init();GPIO_init();followline_init();TIME4_init(7199,10);while(1 ){ if(right_2){car_go(5); }else{car_stop();}}}
followline.c
#include "followline .h "void followline_init(void){//定义引脚结构体 GPIO_InitStruct_C,GPIO_InitStruct_B;//配置驱动电机的PC15/14/13引脚参数 GPIO_InitStruct_C.GPIO_Mode=GPIO_Mode_IPU;GPIO_InitStruct_C.GPIO_Pin=GPIO_Pin_14| GPIO_P in_15 | GPIO_Pin_13;//配置PB12引脚参数驱动电机 GPIO_InitStruct_C.GPIO_Mode=GPIO_Mode_IPU;GPIO_InitStruct_C.GPIO_Pin=GPIO_Pin_12; GPIO_Init(GPIOC, &GPIO_InitStruct_B);GPIO_Init(GPIOB, &GPIO_InitStruct_C );}
follow .h
#ifndef __FOLLOWLINE_H__#define __FOLLOWLINE_H__#include "stm32f10x_gpio.h"#define right_2 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)#define right_1 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_15)#define left_2 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_14)#define left_1 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13)void follow line_init(void); #endif
评论前必须登录!
注册