2017.08.23总结

       今天才开始做树状数组的专题,我以为还没有开,看到已经有很多人做了很多,有点着急,本来做题就很慢......看到最后一题通过的人多,是题解里做过的题,但是还是要重新理解,感觉做过的题还是做不到能够马上记起思路,这道题是求逆序数。

        B题,相当于是排兵布阵的2维版,但是我还是想用一位数组来解决,但是现在还连样例都没过...

/** * @par Copyright (C): 2010-2019, Shenzhen Yahboom Tech * @file KeyscanStart.c * @author Danny * @version V1.0 * @date 2017.08.16 * @brief 按键控制小车的启动 * @details * @par History 见如下说明 * */ #include <wiringPi.h> #include <softPwm.h> //定义引脚 int Left_motor_go = 28; //左电机前进AIN2连接Raspberry的wiringPi编码28口 int Left_motor_back = 29; //左电机后退AIN1连接Raspberry的wiringPi编码29口 int Right_motor_go = 24; //右电机前进BIN2连接Raspberry的wiringPi编码24口 int Right_motor_back = 25; //右电机后退BIN1连接Raspberry的wiringPi编码25口 int Left_motor_pwm = 27; //左电机控速PWMA连接Raspberry的wiringPi编码27口 int Right_motor_pwm = 23; //右电机控速PWMB连接Raspberry的wiringPi编码23口 int key = 10; //定义按键为Raspberry的wiringPi编码10口 /** * Function run * @author Danny * @date 2017.08.16 * @brief 小车前进 * @param[in] time:延时时间 * @param[out] void * @retval void * @par History 无 */ void run(int time) { //左电机前进 digitalWrite(Left_motor_go, HIGH); //左电机前进使能 digitalWrite(Left_motor_back, LOW); //左电机后退禁止 softPwmWrite(Left_motor_pwm, 200); //右电机前进 digitalWrite(Right_motor_go, HIGH); //右电机前进使能 digitalWrite(Right_motor_back, LOW); //右电机后退禁止 softPwmWrite(Right_motor_pwm, 200); //延时 delay(time * 100); } /** * Function key_scan * @author Danny * @date 2017.08.16 * @brief 按键检测(包含软件按键去抖) * @param[in] void * @param[out] void * @retval void * @par History 无 */ void key_scan() { while (digitalRead(key)); //当按键没有被按下一直循环 while (!digitalRead(key)) //当按键被按下时 { delay(10); //延时10ms if (digitalRead(key) == LOW)//第二次判断按键是否被按下 { delay(100); while (!digitalRead(key)); //判断按键是否被松开 } } } /** * Function main * @author Danny * @date 2017.08.16 * @brief 先调用按键扫描函数,再前进1,后退1s,左转2s,右转2s, * 原地左转3s,原地右转3s,停止0.5s * @param[in] void * @retval void * @par History 无 */ void main() { //wiringPi初始化 wiringPiSetup(); //初始化电机驱动IO口为输出方式 pinMode(Left_motor_go, OUTPUT); pinMode(Left_motor_back, OUTPUT); pinMode(Right_motor_go, OUTPUT); pinMode(Right_motor_back, OUTPUT); //创建两个软件控制的PWM脚 softPwmCreate(Left_motor_pwm,0,255); softPwmCreate(Right_motor_pwm,0,255); //定义按键接口为输入接口 pinMode(key, INPUT); key_scan(); //调用按键扫描函数 while(1) { run(10); //前进1s(10 * 100ms) } return; } 这是我目前的代码,我想要实现的功能是按下按键小车一直前进,再次按下按键小车停止
03-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值