6616浏览
查看: 6616|回复: 7

[求助] 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

这是为什么啊。。。

luna  初级技神

发表于 2015-8-21 11:53:47

我帮你@版主大人哦
回复

使用道具 举报

孙毅  初级技匠

发表于 2015-8-21 15:00:12

晚上回去帮你看看啊,不过你可以先尝试着换个PWM口看看,5,6, 9,10,11
回复

使用道具 举报

孙毅  初级技匠

发表于 2015-8-21 15:07:24

你是在Eclipse下 coding的对吗?
回复

使用道具 举报

mslzone  见习技师
 楼主|

发表于 2015-8-22 13:25:32

孙毅 发表于 2015-8-21 15:07
你是在Eclipse下 coding的对吗?

对的,有一点我需要补充说明,我将L298P插入Intel Edison For Arduino板上,L298P板上并没有任何指示灯亮起来,这个是正常还是不正常的?
回复

使用道具 举报

mslzone  见习技师
 楼主|

发表于 2015-8-22 13:26:55

孙毅 发表于 2015-8-21 15:00
晚上回去帮你看看啊,不过你可以先尝试着换个PWM口看看,5,6, 9,10,11

谢了,我晚上回去试下,我的L298P是v1.1版本的。
回复

使用道具 举报

mslzone  见习技师
 楼主|

发表于 2015-8-22 20:55:06

孙毅 发表于 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坏了?
回复

使用道具 举报

mslzone  见习技师
 楼主|

发表于 2015-8-22 22:35:03

孙毅 发表于 2015-8-21 15:00
晚上回去帮你看看啊,不过你可以先尝试着换个PWM口看看,5,6, 9,10,11

http://download.intel.com/suppor ... no_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外不知道其他都要怎么接。
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail