在类似于anduino板子上测试UART串口通讯

使用的是Tiva C系列中的TM4C123C的板子,我想用它来测试其UART串口通讯是否能用。

首先利用正常的debug模式先进行调试,连接电源即可,让PC和板子可以进行串口通讯(使用的是energia软件进行的编程)。

(此图为板子与PC建立的串口通路,如若驱动没安装成功,可参考上篇文章)

(此图为烧写程序成功,说明串口可以进行通讯)。

然后查看板子引脚功能图。

可以看出它有5个可用UART串口通讯口,分别是1,2,3,5,7(即为TX和RX有5对)。我们拿其中一对进行测试,以5为例。

我用的是USB模块(它使用的就是UART协议)连接的板子(板子的电源一定要插着,不要拔掉,就上图那个黑色电源线。因为如果不插的话(此时就应该把模块的V5.0接上),我的电脑就会报unable to find any ICDC devices)。并插到电脑上.。将该模块GND与板子GND相接,PE_4(板子的)和TX接,PE_5(板子的)与RX接,V3.3和V5.0(模块的)不接(如果电脑识别不出来模块则可以接上其中一个,否则模块会变热。注:USB充电线提供5V电压。).下图为代码段,主要功能是输入a红灯亮,输入其他的红灯灭(通过Serial Monitor输入)。

char incomingByte='a';
void setup()
{
  Serial5.begin(9600);
  pinMode(RED_LED,OUTPUT);
  // put your setup code here, to run once:
  
}
void loop()
{
  if(Serial5.available()){
    incomingByte=Serial5.read();
    Serial5.println(incomingByte);
    if(incomingByte=='a')
    {
      digitalWrite(RED_LED,HIGH);
    }
    else
    {
      digitalWrite(RED_LED,LOW);
    }
  }
  // put your main code here, to run repeatedly:
  
}

我们正常使PC与板子进行串口通讯都是用Serial.begin,Serial.available,Serial.read,Serial.println(因为板子默认使用Serial进行串口通信,即下图上面的debug调试电源线)。但我们测试的是第5个UART口,所以我们用Serial5代替Serial(因为这样板子才会识别你到底要用那个引脚的哪个功能)。一定要用模块所对应的COM口来下载和传输数据因为只有这样侧能达到测试UART串口通讯的功能。

PS:感谢学姐的悉心指导,让我又学到了这个知识。手动@蔡学姐。嘻嘻~

猜你喜欢

转载自blog.csdn.net/xxxyaozz/article/details/81352018