极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13628|回复: 8

新手问题(增加一个程序问题)

[复制链接]
发表于 2013-3-24 23:16:23 | 显示全部楼层 |阅读模式
本帖最后由 hetzenauer 于 2013-3-26 15:47 编辑

今天收到apc220无线传输模块,但是设置好了以后使用下载的RF-ANET软件却一直跳出错误提示,说没有发现串行端口,更新了驱动程序以后还是老样子,去硬件管理器里面看了串口是正常的,不知道怎么才能解决。
另外一个问题是今天做履带底盘前进后退程序的时候,我根据《arduino开发实战指南》里面的程序烧入之后,发现只有用USB线连接电脑的时候芯片才正常工作,如果不连接电脑只连接电源的话就只是间断前进,不知何故,希望各位高人不吝赐教。多谢


编写MotorCar库的时候又出现问题,我在头文件MotorCar.h里面已经定义了私有函数_speedLeftPin,_speedRightPin,_dirLeftPin,_dirRightPin以及公有函数MotorCar(int,int,int,int),forward,back,turnLeft,turnRight,turnLeftOrigin,turnRightOrigin,stop,但是在试运行的时候,编译时提示cpp里面每个子函数都有问题

#include <MotorCar.h>

MotorCar::MotorCar(int _slpin,int _dlpin,int _srpin,int _drpin)
{
  _speedLeftPin=_slpin;
  _speedRightPin=_srpin;
  _dirLeftPin=_dlpin;
  _dirRightPin=_drpin;
  pinMode(_speedLeftPin,OUTPUT);
  pinMode(_speedRightPin,OUTPUT);
  pinMode(_dirLeftPin,OUTPUT);
  pinMode(_dirRightPin,OUTPUT);
}
void MotorCar::forward(int _speed)
{
  digitalWrite(_dirRightPin,HIGH);
  digitalWrite(_dirLeftPin,HIGH);
  analogWrite(_speedRightPin,_speed);
  analogWrite(_speedLeftPin,_speed);
}
void MotorCar::back(int _speed)
{
  digitalWrite(_dirRightPin,LOW);
  digitalWrite(_dirLeftPin,LOW);
  analogWrite(_speedRightPin,_speed);
  analogWrite(_speedLeftPin,_speed);
}
void MotorCar::turnLeft(int _speed)
{
  digitalWrite(_dirRightPin,HIGH);
  analogWrite(_speedRightPin,_speed);
  analogWrite(_speedLeftPin,0);
}
void MotorCar::turnRight(int _speed)
{
  digitalWrite(_dirLeftPin,HIGH);
  analogWrite(_speedLeftPin,_speed);
  analogWrite(_speedRightPin,0);
}
void MotorCar::turnRightOrigin(int _speed)
{
  digitalWrite(_dirRightPin,LOW);
  digitalWrite(_dirLeftPin,HIGH);
  analogWrite(_speedRightPin,_speed);
  analogWrite(_speedLeftPin,_speed);
}
void MotorCar::turnLeftOrigin(int _speed)
{
  digitalWrite(_dirRightPin,HIGH);
  digitalWrite(_dirLeftPin,LOW);
  analogWrite(_speedRightPin,_speed);
  analogWrite(_speedLeftPin,_speed);
}
void MotorCar::stop()
{
  analogWrite(_speedRightPin,0);
  analogWrite(_speedLeftPin,0);
}

提示是
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp: In constructor 'MotorCar::MotorCar(int, int, int, int)':
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:12: error: 'OUTPUT' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:12: error: 'pinMode' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp: In member function 'void MotorCar::forward(int)':
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:19: error: 'HIGH' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:19: error: 'digitalWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:21: error: 'analogWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp: In member function 'void MotorCar::back(int)':
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:26: error: 'LOW' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:26: error: 'digitalWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:28: error: 'analogWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp: In member function 'void MotorCar::turnLeft(int)':
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:33: error: 'HIGH' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:33: error: 'digitalWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:34: error: 'analogWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp: In member function 'void MotorCar::turnRight(int)':
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:39: error: 'HIGH' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:39: error: 'digitalWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:40: error: 'analogWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp: In member function 'void MotorCar::turnRightOrigin(int)':
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:45: error: 'LOW' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:45: error: 'digitalWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:46: error: 'HIGH' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:47: error: 'analogWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp: In member function 'void MotorCar::turnLeftOrigin(int)':
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:52: error: 'HIGH' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:52: error: 'digitalWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:53: error: 'LOW' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:54: error: 'analogWrite' was not declared in this scope
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp: In member function 'void MotorCar::stop()':
E:\arduino-1.0.3-windows\arduino-1.0.3\libraries\MotorCar\MotorCar.cpp:59: error: 'analogWrite' was not declared in this scope

HIGH,LOW,pinMode之类的我怎么定义啊,这不应该是原本就自带的么

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2013-3-25 19:55:53 | 显示全部楼层
你机子是不是联想的?
回复 支持 反对

使用道具 举报

发表于 2013-3-25 19:58:16 | 显示全部楼层
我和你碰到同样问题,如果右键以管理员身份打开的话能找到串口,但还是有错误
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-3-25 20:46:39 | 显示全部楼层
maximus 发表于 2013-3-25 19:55
你机子是不是联想的?

不是,我家台式机和IBM笔记本上都出现这个问题,但是单位里面清华同方的机器上就正常了
回复 支持 反对

使用道具 举报

发表于 2013-4-6 21:50:25 | 显示全部楼层
hetzenauer 发表于 2013-3-25 20:46
不是,我家台式机和IBM笔记本上都出现这个问题,但是单位里面清华同方的机器上就正常了

IBM不也被联想收了吗?我也是THINKPAD
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-7 12:51:48 | 显示全部楼层
maximus 发表于 2013-4-6 21:50
IBM不也被联想收了吗?我也是THINKPAD

我那笔记本买的时候联想还没有收购IBM......我发现问题的原因好像是RE-ANET软件和64位的win7不兼容,只能在32位的系统上运行
回复 支持 反对

使用道具 举报

发表于 2013-4-9 16:41:50 | 显示全部楼层
hetzenauer 发表于 2013-4-7 12:51
我那笔记本买的时候联想还没有收购IBM......我发现问题的原因好像是RE-ANET软件和64位的win7不兼容,只能 ...

我在我室友64位系统上跑成功过
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-9 17:14:27 | 显示全部楼层
maximus 发表于 2013-4-9 16:41
我在我室友64位系统上跑成功过

我在64位机器上成功过一次,后来就一直失败,但是除了这个以外别的系统环境好像没什么差别
回复 支持 反对

使用道具 举报

发表于 2014-2-14 18:44:10 | 显示全部楼层
你的库文件,开头要加上“#include<Arduino.h>”(如果是1.0.1以上的版本),以下的要加“#include<WProgram.h>”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-6 01:18 , Processed in 0.036409 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表