极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9043|回复: 2

哪位能告诉这个源码的错误

[复制链接]
发表于 2014-3-3 12:48:47 | 显示全部楼层 |阅读模式
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int tx1Pin=18;
int rx1Pin=19;
int inputPin=8;  // 定义超声波信号接收接口
int outputPin=9; // 定义超声波信号触发接口
void setup()
{
  lcd.init();                      // initialize the lcd
  // Print a message to the LCD.
  lcd.backlight();
  lcd.print("Hello,world!");
  pinMode(inputPin, INPUT);
  pinMode(outputPin, OUTPUT);
     lcd.begin(16,2);  //定义lcd列数及行数
     lcd.clear();//清屏
     lcd.setCursor(0,0);//光标位置置于0,0
pinMode(tx1Pin,OUTPUT);
pinMode(rx1Pin,INPUT);
Serial.begin(9600);
  }
void loop()
{
  digitalWrite(outputPin, LOW); // 使发出发出超声波信号接口低电平2μs
  delayMicroseconds(2);
  digitalWrite(outputPin, HIGH); // 使发出发出超声波信号接口高电平10μs,这里是至少10μs
  delayMicroseconds(10);
  digitalWrite(outputPin, LOW);    // 保持发出超声波信号接口低电平
  int distance = pulseIn(inputPin, HIGH);  // 读出脉冲时间
  distance= distance/58;   // 将脉冲时间转化为距离(单位:厘米)
  delay(5);
     lcd.clear();//清屏
     lcd.setCursor(0,0);//光标从这里开始
     lcd.print("distance is");
     lcd.setCursor(0,1);//换行后显示距离
     lcd.print(distance);
  Serial.printl(distance);
      delay(1000);
}
通过编译了,LCD显示,测距离都正常,可不能传输数据,哪位高手能告诉我,为什么不能输出测距离的数据?

回复

使用道具 举报

发表于 2014-3-3 14:02:16 | 显示全部楼层
串口用错了,要么用默认串口,要么自定义软串口,每个板子的位置都不一样,好好看http://arduino.cc/en/reference/serial#.UxQagvmSya8
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-3 14:25:29 | 显示全部楼层
futuremeng 发表于 2014-3-3 14:02
串口用错了,要么用默认串口,要么自定义软串口,每个板子的位置都不一样,好好看http://arduino.cc/en/ref ...

谢谢,问题解决了
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-9 16:35 , Processed in 0.058814 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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