Intel Edison for Arduino 与 l298p的连接问题。
本帖最后由 mslzone 于 2015-8-20 21:34 编辑今天将买来的l298p直流电机驱动板直接插到Intel Edison For Arduino板上,然后M1+和M1-分别接直流电机两端(该电机直接从l298p的5v和GND引脚引出接入,电机能转),然后写程序如下:
#include "mraa.hpp"
#include <iostream>
#include <memory>
#include <csignal>
std::sig_atomic_t __quit = 0;
void quit_handler(int param)
{
__quit = 1;
}
int main()
{
std::unique_ptr<mraa::Pwm> speed_pin(new mraa::Pwm(10));
if (speed_pin->enable(true) != MRAA_SUCCESS)
{
std::cerr << "speed_pin enable failed!" << std::endl;
return MRAA_ERROR_UNSPECIFIED;
}
speed_pin->write(0.3f);
std::signal(SIGINT, quit_handler);
while (__quit == 0)
{
}
speed_pin->enable(false);
std::cout << "bye" << std::endl;
return MRAA_SUCCESS;
}
结果运行时提示:
terminate called after throwing an instance of 'std::invalid_argument'
what():Error initialising PWM on pin
Aborted
这是为什么啊。。。 我帮你@版主大人哦 晚上回去帮你看看啊,不过你可以先尝试着换个PWM口看看,5,6, 9,10,11 你是在Eclipse下 coding的对吗? 孙毅 发表于 2015-8-21 15:07
你是在Eclipse下 coding的对吗?
对的,有一点我需要补充说明,我将L298P插入Intel Edison For Arduino板上,L298P板上并没有任何指示灯亮起来,这个是正常还是不正常的? 孙毅 发表于 2015-8-21 15:00
晚上回去帮你看看啊,不过你可以先尝试着换个PWM口看看,5,6, 9,10,11
谢了,我晚上回去试下,我的L298P是v1.1版本的。 孙毅 发表于 2015-8-21 15:00
晚上回去帮你看看啊,不过你可以先尝试着换个PWM口看看,5,6, 9,10,11
把L298P插Intel上,5,6,9端口写入pwm数据可行,但是电机不转(因为电路上没有接入),10,11端口初始化pwm都失败。把L298P拔掉,然后同样写入5、6、9、10、11端口,5、6、9可初始化并写入,10、11初始化失败。。。难道我10、11坏了? 孙毅 发表于 2015-8-21 15:00
晚上回去帮你看看啊,不过你可以先尝试着换个PWM口看看,5,6, 9,10,11
http://download.intel.com/support/edison/sb/edisonarduino_hg_331191007.pdf
我参见此文中关于j11、j12跳线的说明后才知道其实edison for arduino实际上只支持4个pwm,默认是3、5、6、9,所以初始化10、11会失败。但是后来我将跳线切换到10、11后,依然是10、11引脚初始化pwm失败,但是3、5、6、9初始化pwm成功。真不知道为什么了。现在我想手动接L298P到intel edison for arduino板,但是除了知道要将5、6引脚接L298P的10、11外不知道其他都要怎么接。
页:
[1]