This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] EK-TM4C1294XL:将 HC-SRO4超声波传感器与 Tiva c [卡滞]连接

Guru**** 2468610 points
Other Parts Discussed in Thread: EK-TM4C1294XL, ENERGIA

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/672733/ek-tm4c1294xl-interfacing-hc-sro4-ultrasound-sensor-with-tiva-c-stuck

器件型号:EK-TM4C1294XL
主题中讨论的其他器件: Energia

您好!

我不熟悉连接 Tiva c 的 LaunchPad、现在我一直处于停滞状态

我正在尝试使用 TI EK-TM4C1294XL 测试 HC-SRO4、但我甚至无法获得它的距离

我使用的是 Energia、这是我使用的代码

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//超声波引脚定义
const int echo = 9,Trig = 10;
长时长,cm;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//时间更新变量

unsigned long LastUpdateMicrosecs = 0;
unsigned long LastUpdateMillisecs = 0;
unsigned long CurrentMicrosecs = 0;
unsigned long MicrosecsSinceLastUpdate = 0;
float SecondsSinceLastUpdate = 0;


void setup()
{

//Init 串行端口,具有115200比特率
Serial.begin(115200);
SetupUltrasonic ();



}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Setup UltrasonicsSensor () function
void SetupUltrasonic ()
{
pinMode (Trig、output);
pinMode (echo、input);

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//main loop



void loop()
{

UPDATE_Ultra_Sonic ();
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



//将通过串行端口

void Update_Ultra_Sonic ()
{
digitalWrite (Trig、low);
delayMicroseconds (2);
digitalWrite (Trig、high)更新超声波传感器;
delayMicroseconds (10);
digitalWrite (Trig、low);
//回显引脚用于从 ping 读取信号)):高
//脉冲,其持续时间为
从发送 ping 到接收来自对象的回显的时间(以微秒为单位)。
持续时间= pulseIn (回波、高电平);
//将时间转换为距离
cm =微秒 ToSentivers (持续时间);

//sending through serial port
Serial.print("distance =");
Serial.print("\t");
Serial.print(cm);
Serial.print("\n");

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////




//将微秒转换为厘米
长微秒数到摄氏度(长微秒)
{
//声音速度为340 m/s 或29 microseconds /厘米。
// Ping 来回移动,因此要找到
//对象的距离,我们需要的距离是所行驶距离的一半。
返回微秒/ 29 / 2;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

该电路很简单、我将传感器连接到电平转换器、电平转换器的电压为5V、然后从另一侧连接到 LaunchPad 的电压为3.3V、我很确定连接是否正常、但我不知道我错过了什么

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    一些问题:
    MCU 是一款3.3V 器件。 您是否有 MCU 的触发输出首先通过电平转换器传输到5V 传感器?
    2.运行 MCU 的频率是多少? 尽管我没有关于 Energia 如何实现 delayMicroseconds ()的经验,但它必须依赖 MCU 的时基或系统时钟。 最好的方法是生成10us 触发器。 如果您有示波器、请查看触发器是否为10us。 如果不是10us、则可能与时基有关。
    3.您在回波输入上看到了什么。 您在回波输入上看到的宽度是多少? 它是扁平的还是有什么东西? 确保它是 MCU 的3.3V 输入。
    4.如果您在回波输入上看到正确的宽度,则下一个要调查的内容是 pulsein ()函数。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我非常感谢您的关注、但实际上我不明白您说的话、您能不能再对它进行措辞

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不确定哪个部件不清楚。 您能否使用示波器捕获触发和回波信号? 测量触发信号并查看高电平脉冲是否为10us。 您能看到传感器返回的回波信号吗?