查看: 2394|回复: 8

[分享] FRDM-KL05Z 与 MBED 心动的感觉 (SPI)

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

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
    发表于 2015-4-27 21:19:09 | 显示全部楼层 |阅读模式
    FRDM-KL05Z 在 MBED 环境下并没有 SPI 的例程,但是 MBED 基本上在不同 MCU 之间的语法应该是差不多的,因此我拿了先前在别的板子上运行过的程序在 FRDM-KL05Z 上运行看看,将板子的 SPI 信号连接到使用 MAX7219 驱动的 8x8 点阵板,连接的方式如下:


    PTA7(MOSI) -> DIN
    PTB0(SCK)  -> CLK
    PTA5       -> CS

    P02.JPG

    修改 SPI 函数对管脚的定义:
    P01.JPG

    SPI spimax(PTA7, PTA6, PTB0);

    程序如下:
    1. #include "mbed.h"

    2. const char sprite[8] = {
    3.     0xFF,
    4.     0x81,
    5.     0x81,
    6.     0x81,
    7.     0x81,
    8.     0x81,
    9.     0x81,
    10.     0xFF
    11. };


    12. SPI spimax(PTA7, PTA6, PTB0);
    13. DigitalOut CS(PTA5);

    14. void max7219(char reg,char dta)
    15. {
    16.     CS = 0;
    17.     spimax.write(reg);
    18.     spimax.write(dta);
    19.     CS = 1;
    20. }

    21. int main()
    22. {
    23.     max7219(0x09,0);
    24.     max7219(0x0a,8);
    25.     max7219(0x0b,7);
    26.     max7219(0x0c,1);
    27.     max7219(0x0f,0);

    28.     for(char j=0; j<8; j++) {
    29.         max7219(j+1,sprite[j]);
    30.     }

    31.     while(1) {
    32.     }
    33. }
    复制代码


    运行结果如下,程序是可以正常运行的。
    P03.JPG

    修改程序,while 回圈里面2张图循环显示,看看 FRDM-KL05Z 在 MBED 编程下心动的感觉。

    1. #include "mbed.h"

    2. const char sprite[][8] = {
    3.     0x00, 0x00, 0x14, 0x3e, 0x3e, 0x1c, 0x08, 0x00 ,
    4.     0x00, 0x66, 0xff, 0xff, 0xff, 0x7e, 0x3c, 0x18
    5. };


    6. SPI spimax(PTA7, PTA6, PTB0);
    7. DigitalOut CS(PTA5);

    8. void max7219(char reg,char dta)
    9. {
    10.     CS = 0;
    11.     spimax.write(reg);
    12.     spimax.write(dta);
    13.     CS = 1;
    14. }

    15. int main()
    16. {
    17.     max7219(0x09,0);
    18.     max7219(0x0a,8);
    19.     max7219(0x0b,7);
    20.     max7219(0x0c,1);
    21.     max7219(0x0f,0);

    22.     while(1) {
    23.         for(char i=0; i<2 ;i++) {        
    24.             for(char j=0; j<8; j++) {
    25.                 max7219(j+1,sprite[i][j]);
    26.             }  
    27.             wait_ms(200);                  
    28.         }
    29.     }
    30. }
    复制代码


    演示视频
    https://v.youku.com/v_show/id_XOTQyOTMwNzQw.html


    看看这个程序使用了多少空间:
    P04.JPG





    建立 FRDM-KL05Z 在 MBED 环境下开发的过程
    https://www.nxpic.org.cn/module/forum/thread-598659-1-1.html



    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-11-24 10:19
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    50

    主题

    1028

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2870
    最后登录
    1970-1-1
    发表于 2015-4-27 21:34:31 | 显示全部楼层
    MBED 好火
    回复

    使用道具 举报

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

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
     楼主| 发表于 2015-4-27 21:46:52 | 显示全部楼层

    感谢关注
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7

    主题

    107

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    444
    最后登录
    2019-3-7
    发表于 2015-4-27 22:26:04 | 显示全部楼层
    做这么简单的东西,flash占的有点多........
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
     楼主| 发表于 2015-4-27 22:42:28 | 显示全部楼层
    晓枫VS枯叶 发表于 2015-4-27 22:26
    做这么简单的东西,flash占的有点多........

    是啊,我也是觉得有点多
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24

    主题

    410

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1203
    最后登录
    2018-6-27
    发表于 2015-4-28 08:52:58 | 显示全部楼层
    是因为mbed的库大么,貌似用其他的应该没这么大吧
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
     楼主| 发表于 2015-4-28 09:20:04 | 显示全部楼层
    770781327 发表于 2015-4-28 08:52
    是因为mbed的库大么,貌似用其他的应该没这么大吧

    MBED的库是不小,占了不少空间
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27

    主题

    157

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    465
    最后登录
    2015-6-20
    发表于 2015-4-28 13:05:08 | 显示全部楼层
    不错不错  
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2015-5-14 09:54:22 | 显示全部楼层
    非常感谢你关于Kinetis的技术问题。如果你没有其他问题,我们将此帖默认为已解决.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-24 08:13 , Processed in 0.103065 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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