查看: 8308|回复: 19

[原创] 【FRDM-K64F+MBED】串口功能-1

[复制链接]
  • TA的每日心情
    开心
    2021-12-10 16:14
  • 签到天数: 1442 天

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
    发表于 2015-7-18 20:24:33 | 显示全部楼层 |阅读模式
    本帖最后由 slotg 于 2015-7-18 20:26 编辑

    在 MBED 编程环境下的串口例程如下:
    1. #include "mbed.h"

    2. DigitalOut myled(LED_GREEN);
    3. Serial pc(USBTX, USBRX);

    4. int main()
    5. {
    6.     int i = 0;
    7.     pc.printf("Hello World!\n");

    8.     while (true) {
    9.         wait(0.5f); // wait a small period of time
    10.         pc.printf("%d \n", i); // print the value of variable i
    11.         i++; // increment the variable
    12.         myled = !myled; // toggle a led
    13.     }
    14. }
    复制代码

    程序运行后会通过虚拟串口打印讯息,每一次打印时会将板底的绿色 LED 状态反向。

    P01.JPG

    FRDM-K64F 板是使用了编号为 MK64FN1M0VLL12 100pin LQFP 包装的 MCU,这个包装有 5 组串口,这 5 组串口在 FRDM-K64F 板上使用的分配如下:

    UART0_RX        PTB16   OpenSDAv2 (虚拟串口)
    UART0_TX        PTB17   OpenSDAv2 (虚拟串口)

    UART1_RX        PTC3    (D7)
    UART1_TX        PTC4    (D9)

    UART2_RX        PTD2    (D11)
    UART2_TX        PTD3    (D12)

    UART3_RX        PTC16   (D0) RX
    UART3_TX        PTC17   (D1) TX

    UART4_RX        PTC14   (BT_TX)
    UART4_TX        PTC15   (BT_RX)

    其中的 UART4 是连接到 J199 接头,这个接头是保留给蓝芽模块使用。

    P06.JPG

    MBED 对 FRDM-K64F 的 UART0 管脚定义为
    USBTX = PTB17
    USBRX = PTB16

    因此程序中
    Serial pc(USBTX, USBRX);

    Serial pc(PTB17, PTB16);
    的功能是一样的。

    相同的道理,假如我们要使用其他的串口功能也可以用相同的方式定义,比如说要使用 UART3 那么我们修改程序如下:

    1. #include "mbed.h"

    2. DigitalOut myled(LED_GREEN);
    3. //Serial pc(USBTX, USBRX);
    4. Serial pc(PTB17, PTB16);
    5. Serial uart3(PTC17, PTC16);

    6. int main()
    7. {
    8.     int i = 0;
    9.     pc.printf("Hello World!\n");
    10.     uart3.printf("Hello World! UART3\n");

    11.     while (true) {
    12.         wait(0.5f); // wait a small period of time
    13.         pc.printf("%d \n", i); // print the value of variable i
    14.         uart3.printf("%d \n", i);
    15.         i++; // increment the variable
    16.         myled = !myled; // toggle a led
    17.     }
    18. }
    复制代码

    运行结果

    P02.JPG

    使用 UART1
    Serial uart1(PTC4, PTC3);

    P03.JPG

    使用 UART2
    Serial uart2(PTD3, PTD2);

    P04.JPG

    在程序中使用 4 个串口:

    1. #include "mbed.h"

    2. DigitalOut myled(LED_GREEN);
    3. //Serial pc(USBTX, USBRX);
    4. Serial pc(PTB17, PTB16);
    5. Serial uart1(PTC4, PTC3);
    6. Serial uart2(PTD3, PTD2);
    7. Serial uart3(PTC17, PTC16);

    8. int main()
    9. {
    10.     int i = 0;
    11.     pc.printf("Hello World!\n");
    12.     uart1.printf("Hello World! UART1\n");
    13.     uart2.printf("Hello World! UART2\n");
    14.     uart3.printf("Hello World! UART3\n");

    15.     while (true) {
    16.         wait(0.5f); // wait a small period of time
    17.         pc.printf("%d \n", i); // print the value of variable i
    18.         uart1.printf("%d \n", i);
    19.         uart2.printf("%d \n", i);
    20.         uart3.printf("%d \n", i);
    21.         i++; // increment the variable
    22.         myled = !myled; // toggle a led
    23.     }
    24. }
    复制代码

    除了虚拟串口之外,我连接了 2 条串口线同时显示 3 个串口输出。

    P05.JPG

    P07.JPG

    FRDM-K64F 的管脚配置

    K64F Pinmap.JPG
    K64F Sensormap.JPG

    FRDM-K64F 原理图
    FRDM-K64F_SCH.pdf (208.38 KB, 下载次数: 100)

    评分

    参与人数 1NXP金币 +30 收起 理由
    小七 + 30 赞一个!

    查看全部评分

    回复

    使用道具 举报

    该用户从未签到

    16

    主题

    78

    帖子

    0

    注册会员

    Rank: 2

    积分
    178
    最后登录
    2018-6-1
    发表于 2015-7-18 22:51:12 | 显示全部楼层
    支持一下
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-10 16:14
  • 签到天数: 1442 天

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
     楼主| 发表于 2015-7-18 23:07:11 | 显示全部楼层

    感谢支持
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16700
    最后登录
    1970-1-1
    发表于 2015-7-18 23:55:31 | 显示全部楼层
    多谢分享
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    连续签到: 1 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
    发表于 2015-7-19 08:24:23 | 显示全部楼层
    赞赞赞,嘿嘿
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-10 16:14
  • 签到天数: 1442 天

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
     楼主| 发表于 2015-7-19 09:16:53 | 显示全部楼层

    感谢支持
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-10 16:14
  • 签到天数: 1442 天

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
     楼主| 发表于 2015-7-19 09:17:12 | 显示全部楼层

    感谢支持
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2015-7-19 10:00:22 | 显示全部楼层
    支持下。。。 null - 副本 - 副本 - 副本.png null - 副本 - 副本 (2).png null - 副本 - 副本 (3).png null - 副本 - 副本.png null - 副本 (2) - 副本.png null - 副本 (2).png null - 副本 (3).png null - 副本 (4).png null - 副本.png null.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-8-30 16:02
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    36

    主题

    1065

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1851
    最后登录
    2019-11-19
    发表于 2015-7-19 12:07:17 | 显示全部楼层
    多谢分享
    楼主的连接线上的标记是怎么做的
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-9-17 19:57
  • 签到天数: 2310 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    107

    主题

    4270

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    10481
    最后登录
    2023-9-17
    发表于 2015-7-19 21:30:50 | 显示全部楼层
    kingsings 发表于 2015-7-19 12:07
    多谢分享
    楼主的连接线上的标记是怎么做的

    自己用不干胶做一个
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 08:35 , Processed in 0.112969 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表