自从上次使用 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;
}
}
再重复编译烧录,运行后的界面如下:
可以看到,此时的输出信息整洁很多了。