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

共8条 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;
  }
}
再重复编译烧录,运行后的界面如下:

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






菜鸟
2016-01-17 14:24:45     打赏
2楼
学习了,谢谢分享!请问MBED 软件在哪儿下载,有学习教程吗?

院士
2016-01-17 18:00:24     打赏
3楼

楼主的帖子真棒~~

请问楼主 “Serial pc(SERIAL_TX, SERIAL_RX);”这个语句是什么意思啊?


高工
2016-01-17 21:09:10     打赏
4楼
写的很详细,借鉴学习

院士
2016-01-20 11:04:53     打赏
5楼
楼主 再做一些其它实验啊~~

菜鸟
2016-01-29 15:39:33     打赏
6楼

专家
2016-02-16 14:58:58     打赏
7楼
串口通信

专家
2016-02-16 15:02:25     打赏
8楼
串口通信

共8条 1/1 1 跳转至

回复

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