查看: 267|回复: 0

[技术] 【赚周年币】技术贴Week 2-Day4-----mbed之SPI接口

[复制链接]

56

主题

1

好友

2492

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    昨天 09:47
  • 签到天数: 740 天

    连续签到: 33 天

    [LV.9]以坛为家II

    爱板会员勋章 活跃会员勋章 发帖机器勋章 在线达人勋章

    发表于 2017-1-8 10:06:38 |显示全部楼层
          SPI(Serial Perripheral Interface) 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术。是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便。应用在EEPROM、FLASH等器件。
          SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。(1)SDI – 主设备数据输入,从设备数据输出;
    (2)SDO – 主设备数据输出,从设备数据输入;
    (3)SCLK – 时钟信号,由主设备产生;
    (4)CS – 从设备使能信号,由主设备控制。
          根据时钟相位(CPHA)和时钟极性(CPOL)的配置不同,SPI有4种模式。大多数应用使用默认的模式0。
    7.JPG

         LPC824 片上有2路SPI,主机模式下的最大数据速率为 30 Mbit/s,从机模式下的最大数据速率为 18 Mbit/s( SPI功能连接至所有数字引脚,开漏引脚除外) 。
    1.JPG

    mbed提供了一个SPI类是实现读写SPI设备。
    6.JPG


    W25Q32的ID的命令和操作
    4.JPG
    3.JPG
    1. include "mbed.h"

    2. #define SPI_CLK     P0_24
    3. #define SPI_MOSI    P0_26
    4. #define SPI_MISO    P0_25
    5. #define SPI_CS      P0_15

    6. #define WEL 0x06
    7. Serial pc(P0_4,P0_0);
    8. SPI spi_master(SPI_MOSI,SPI_MISO,SPI_CLK);
    9. DigitalOut cs(SPI_CS);
    10. int main() {
    11.     char ID[2];
    12.     spi_master.format(8,0);
    13.     spi_master.frequency(1000000);
    14.     spi_master.write(WEL);
    15.     while(1) {
    16.         spi_master.lock();
    17.         cs=0;
    18.         spi_master.write(0x90);
    19.         spi_master.write(0x00);
    20.         spi_master.write(0x00);
    21.         spi_master.write(0x00);
    22.         ID[0]=spi_master.write(0x00);
    23.         ID[1]=spi_master.write(0x00);
    24.         cs=1;
    25.         spi_master.unlock();
    26.         
    27.         pc.printf("Device ID:%x ",ID[0]);
    28.         pc.printf("Device ID:%x \r\n",ID[1]);
    29.         wait(1.0);
    30.     }
    31. }
    复制代码
    编译下载到板上,打开串口助手复位后
    2.JPG



    已有 2 人评分 收起 理由
    EEboard爱板网 + 30 3周发帖养成记 奖励
    loveeeboard + 10

    总评分:  + 40   查看全部评分

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

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

    手机版|爱板网 |网站地图  

    GMT+8, 2017-7-23 16:41 , Processed in 0.105170 second(s), 11 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部