mslzone 发表于 2015-8-20 21:27:59

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/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]
查看完整版本: Intel Edison for Arduino 与 l298p的连接问题。