这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 串口通信

共1条 1/1 1 跳转至

串口通信

菜鸟
2016-01-17 11:33:34     打赏

自从上次使用 MBED 尝试在 L053 上运行流水灯程序后,发现 MBED 风格编写代码简单易懂,从而喜好上了 MBED。今天趁此机会再尝试下串口输出调试:

首先,登陆 MBED 开发环境,新建项目:

选择 L053 开发平台,因为刚开始不熟悉 MBED 的串口开发过程,姑且先学学mbed自己的串口历程,

选择串口输出例程:

生成代码如下:

#include "mbed.h"

//------------------------------------
// Hyperterminal configuration
// 9600 bauds, 8-bit data, no parity
//------------------------------------

Serial pc(SERIAL_TX, SERIAL_RX);
 
DigitalOut myled(LED1);
 
int main() {
  int i = 1;
  pc.printf("Hello World !\n");
  while(1) { 
      wait(1);
      pc.printf("This program runs since %d seconds.\n", i++);
      myled = !myled;
  }
}
编译程序,保存编译后生成的二进制bin文档:

为了能看到输出效果,先配置好PC端串口调试助手,注意波特率和校验配置:

将之前保存的bin文件拖拽进L053虚拟U盘,完成烧写。此时,代码就开始运行起来了,先来看下输出效果:

可以看到输出信息基本正确,但是排版不太美观。仔细看代码,原来是换行符的问题,在WIN下换行符

最好\r\n双重结合;

更改代码如下:

int main() {
  int i = 1;
  pc.printf("Hello World !\n");
  while(1) { 
      wait(1);
      pc.printf("This program runs since %d seconds.\r\n", i++);
      myled = !myled;
  }
}
再重复编译烧录,运行后的界面如下:

可以看到,此时的输出信息整洁很多了。






共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]