查看: 4586|回复: 6

[原创] 【K64F】基于mbed的串口

[复制链接]
  • TA的每日心情
    奋斗
    2016-12-13 20:56
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    10

    主题

    374

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1217
    最后登录
    2020-7-26
    发表于 2015-10-26 21:21:09 | 显示全部楼层 |阅读模式
    FRDM-K64F板载 MK64FN1M0VLL12 100pin LQFP 封装的 芯片,该MCU包含5组串口,分别是
    1. UART0_RX        PTB16   OpenSDAv2 (虚拟串口)
    2. UART0_TX        PTB17   OpenSDAv2 (虚拟串口)

    3. UART1_RX        PTC3    (D7)
    4. UART1_TX        PTC4    (D9)

    5. UART2_RX        PTD2    (D11)
    6. UART2_TX        PTD3    (D12)

    7. UART3_RX        PTC16   (D0) RX
    8. UART3_TX        PTC17   (D1) TX

    9. UART4_RX        PTC14   (BT_TX)
    10. UART4_TX        PTC15   (BT_RX)
    复制代码
    大家可以看我的第一篇帖子里关于FRDM-K64F GPIO驱动RGB中mbed pin name.pdf文档中各管脚的定义。
    在这里我们首先通过openSDA的虚拟串口和PC机通信,即UART0

    1. #include "mbed.h"

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

    4. int main()
    5. {
    6.     int i = 0;
    7.     pc.printf("Hello eefocus!\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. }
    复制代码
    通过secureCRT观察其接收到的数据
    serial-1.jpg
    程序运行后会通过虚拟串口打印讯息,每一次打印时会将RGB的蓝色 LED 状态反向。
    在这里
    1. MBED 对 FRDM-K64F 的 UART0 管脚定义为
    2. USBTX = PTB17
    3. USBRX = PTB16
    复制代码
    因此,Serial pc(USBTX, USBRX); 与 Serial pc(PTB17, PTB16); 是等效的!
    同理,我们要使用其他的串口也可以用相同的方式定义:
    如要使用 UART1,可定义为Serial uart1(PTC4, PTC3);
    如要使用 UART2,可定义为Serial uart2(PTD3, PTD2);
    如要使用 UART3,可定义为Serial uart3(PTC17, PTC16);
    1. #include "mbed.h"

    2. DigitalOut myled(LED_GREEN);
    3. //Serial pc(USBTX, USBRX);
    4. Serial uart0(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.     uart0.printf("Hello World! UART0\n");
    12.     uart1.printf("Hello eefocus! UART1\n");
    13.     uart2.printf("Hello freescale! UART2\n");
    14.     uart3.printf("Hello eeboard! UART3\n");

    15.     while (true) {
    16.         wait(0.5f); // wait a small period of time
    17.         uart0.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. }
    复制代码
    大家可以用3条串口线同时显示 除UART0外的另外3 个串口输出。
    需要强调的是UART4是连接到 J199 接头的,这个接头是保留给蓝牙模块使用,大家可以暂时不用管。
    serial-2.jpg

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-6 07:38
  • 签到天数: 736 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2015-10-27 08:38:12 | 显示全部楼层
    谢谢分享
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    7

    主题

    250

    帖子

    0

    高级会员

    Rank: 4

    积分
    628
    最后登录
    2016-5-3
    发表于 2015-10-27 08:42:43 | 显示全部楼层
    加油。支持一下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27

    主题

    320

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    484
    最后登录
    2016-3-28
    发表于 2015-10-27 08:57:47 | 显示全部楼层
    谢谢分享
    回复

    使用道具 举报

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

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2015-10-29 09:17:03 | 显示全部楼层
    谢谢分享 blank.png blank1.png blank2.png blank3.png blank4.png blank5.png blank6.png blank7.png blank8.png blank9.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-11-4 10:41:07 | 显示全部楼层
    不错,谢谢分享
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    98

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    304
    最后登录
    1970-1-1
    发表于 2015-12-30 12:34:57 | 显示全部楼层
    谢谢分享!
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-8-21 04:44 , Processed in 0.096859 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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