timothy 发表于 2012-12-8 18:45:32

求助USB串口通信问题

刚买的flymaple,想使用USB串口通信,但是一直没有成功。现在把程序贴上,希望可以收到高手回复解决。
这是烧录程序。int ledPin = 13;               // LED connected to digital pin 13

void setup()
{
pinMode(ledPin, OUTPUT);      // sets the digital pin as output
}

void loop()
{
SerialUSB.print(',');
SerialUSB.print(',');
SerialUSB.print('\n');
digitalWrite(ledPin, HIGH);   // sets the LED on
delay(1000);                  // waits for a second
digitalWrite(ledPin, LOW);    // sets the LED off
delay(1000);                  // waits for a second

}



这是processing程序:功能很简单就是看串口是否收到信息然后显示绘图的变化。
import processing.serial.*;
Serial myPort;
final String serialPort = "COM3";
final int VIEW_SIZE_X=500,VIEW_SIZE_Y = 500;
PFont font;
float []Euler = new float;
void setup()
{
size(VIEW_SIZE_X,VIEW_SIZE_Y,P3D);
myPort = new Serial(this,serialPort,115200);
font = createFont("Courier",32);
delay(100);
myPort.clear();
Euler=0;
Euler=0;
Euler=0;
}
void draw()
{
background(#000000);
fill(#ffffff);
if (myPort.available() != 0) {
      Euler+=1;
      Euler+=1;
      Euler+=1;
      delay(1000);

}
drawCube();
}


void drawCube() {
pushMatrix();
translate(VIEW_SIZE_X/2, VIEW_SIZE_Y/2 + 50, 0);
scale(5, 5, 5);

// a demonstration of the following is at
// <a href="http://www.varesano.net/blog/fabio/ahrs-sensor-fusion-orientation-filter-3d-graphical-rotating-cube" target="_blank">http://www.varesano.net/blog/fab ... hical-rotating-cube</a>
rotateZ(-Euler);
rotateX(-Euler);
rotateY(-Euler);

buildBoxShape();

popMatrix();
}


void buildBoxShape() {
//box(60, 10, 40);
noStroke();
beginShape(QUADS);

//Z+ (to the drawing area)
fill(#00ff00);
vertex(-30, -5, 20);
vertex(30, -5, 20);
vertex(30, 5, 20);
vertex(-30, 5, 20);

//Z-
fill(#0000ff);
vertex(-30, -5, -20);
vertex(30, -5, -20);
vertex(30, 5, -20);
vertex(-30, 5, -20);

//X-
fill(#ff0000);
vertex(-30, -5, -20);
vertex(-30, -5, 20);
vertex(-30, 5, 20);
vertex(-30, 5, -20);

//X+
fill(#ffff00);
vertex(30, -5, -20);
vertex(30, -5, 20);
vertex(30, 5, 20);
vertex(30, 5, -20);

//Y-
fill(#ff00ff);
vertex(-30, -5, -20);
vertex(30, -5, -20);
vertex(30, -5, 20);
vertex(-30, -5, 20);

//Y+
fill(#00ffff);
vertex(-30, 5, -20);
vertex(30, 5, -20);
vertex(30, 5, 20);
vertex(-30, 5, 20);

endShape();
}

硬件串口情况
如图


timothy 发表于 2012-12-8 18:51:51

补充程序应该是下载成功的,因为13脚的led是工作的,只是串口没有反应。不知道是什么情况,本人新手希望回复时可以详细一点,十分感谢

timothy 发表于 2012-12-8 18:51:53

补充程序应该是下载成功的,因为13脚的led是工作的,只是串口没有反应。不知道是什么情况,本人新手希望回复时可以详细一点,十分感谢

admin 发表于 2012-12-10 19:58:40

看一下这篇文章。https://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=187

夏斌 发表于 2012-12-26 22:14:35

本帖最后由 Ricky 于 2012-12-26 23:30 编辑

楼主 在 IDE 里打开 SerialMonitor 查看下 FlyMaple 的输出。
看下我调试通过的代码:#include <stdio.h>
#include <Wire.h>
#include <i2c.h>

//////////////////////////////////////
// FlyMapleStudy2012.12.23
//////////////////////////////////////

////////////////////////////////////////////////////////////////////////////
//分项学习代码 传感器基本读数(原始数据),未加校正等变换。
////////////////////////////////////////////////////////////////////////////

void setup()
{
SerialUSB.println("Run void setup()");

//测试板载按钮
//pinMode(BOARD_BUTTON_PIN, INPUT);

// 测试板载LED
pinMode(BOARD_LED_PIN, OUTPUT);

SerialUSB.println("Run void setup() ...OK!");
}

void loop()
{
SerialUSB.println("Run void loop() Begin.");

toggleLED(); //LED翻转 亮灭

delay(500);

SerialUSB.println("Run void loop() End.");
}

夏斌 发表于 2012-12-26 22:19:26

本帖最后由 Ricky 于 2012-12-26 23:30 编辑

另外 Loop 函数也可以这样写:void loop()
{
SerialUSB.println("Run void loop() Begin.");

digitalWrite(BOARD_LED_PIN, HIGH);

delay(500);

digitalWrite(BOARD_LED_PIN, LOW);

delay(500);

SerialUSB.println("Run void loop() End.");
}

夏斌 发表于 2012-12-26 22:30:40

本帖最后由 Ricky 于 2012-12-26 23:30 编辑

回复上瘾了:lol 再发段 USB串口 接收的程序,也是调试通过的。

这段代码 不需要声明什么,也不需要在 Setup() 里初始化什么。
在 Loop() 中直接调用这个函数就可以了。void loopTestSerialUSB()
{
unsigned int CharNum;

CharNum = SerialUSB.available();

if ( CharNum > 0)
{
    for(int i=0 ;i< CharNum;i++)
    {
      // get incoming byte:
      char inByte;
      inByte = SerialUSB.read();
      SerialUSB.print(inByte);
    }
    SerialUSB.println("");
}
}这个函数就是收到什么就发回什么字串。

新号过瘾中……
页: [1]
查看完整版本: 求助USB串口通信问题