RSL10 study-SPI CMSIS-Driver Sample Code

这个示例项目演示了如何使用SPI CMSIS驱动程序同时操作两个SPI实例(SPI0和SPI1)。

要使用此示例应用程序,必须在IDE。在**CMSIS Pack Manager**的右侧面板上,您可以看到**Pack和Examples**视图。在**包**视图中,您将看到**CMSIS包**。发现`ARM.CMSIS`,然后单击**安装**按钮。

有关应用程序的其他信息:
1) SPI0被配置为主,SPI1被配置为从。
2) 两个SPI实例都发送/接收包含字符串的SPI帧消息“RSL10 SPI TEST”。
3) 当板上的DIO5按钮时,SPI0(主)启动传输按下。
4) 应用程序使LED(DIO6)闪烁0.5秒,表示接收到的帧与预期字符串匹配:“RSL10 SPI TEST”。这个每个SPI实例的LED都会闪烁。因此,如果SPI0和SPI1连接并且数据已正确传输,则LED闪烁两次。
5) 如果检测到超限或欠载错误,应用程序会使LED闪烁每次出现错误时,速度非常快(持续0.05秒)5次。

6) RSL10配置为以48 MHz执行,SPI总线速度为750000bps和8比特的字大小。总线速度和字大小可以已在“app.h”上配置。
7) 该应用程序可以通过两个RSL10评估和开发进行测试通过SPI连接或使用单板连接连接的板
SPI0<->SPI1。有关更多详细信息,请查看“硬件要求”部分。
8) 为了演示如何使用“ABORT_TRANSFER”功能应用程序不断监视(轮询)SPI1上接收的内容
(奴隶)。如果到目前为止接收到的数据与预期数据不匹配应用程序中止正在进行的传输。这对于避免传输之间错误的累积。

硬件要求
--------------------

至少需要一个RSL10评估和开发委员会。如果只有一个板可用,请按如下方式将SPI0连接到SPI1:

        Master                     Slave
    SPI0_SCLK(SPI_SC)   ->    SPI1_SCLK(DIO13)
    SPI0_SSEL(DIO10)    ->    SPI1_SSEL(DIO14)
    SPI0_MISO(DIO0)     <-    SPI1_MISO(DIO1)
    SPI0_MOSI(DIO12)    ->    SPI1_MOSI(DIO15)

如果有两块板可用,SPI0可以连接到SPI1,如下所示:

     RSL10 EVB #1               RSL10 EVB #2
        Master                     Slave
    SPI0_SCLK(SPI_SC)   ->    SPI1_SCLK(DIO13)
    SPI0_SSEL(DIO10)    ->    SPI1_SSEL(DIO14)
    SPI0_MISO(DIO0)     <-    SPI1_MISO(DIO1)
    SPI0_MOSI(DIO12)    ->    SPI1_MOSI(DIO15)

        Slave                     Master
    SPI1_SCLK(DIO13)    <-    SPI0_SCLK(SPI_SC)
    SPI1_SSEL(DIO14)    <-    SPI0_SSEL(DIO10)
    SPI1_MISO(DIO1)     ->    SPI0_MISO(DIO0)
    SPI1_MOSI(DIO15)    <-    SPI0_MOSI(DIO12)

        Slave                     Master
         GND            <->        GND
                      
EVB #1 Slave GND <-> GND EVB #2

使用两个板,您可以选择仅将一个主板从一个板连接到另一个板的从板。

导入项目
------------------

要将示例代码导入IDE工作区,请参阅*有关详细信息,请参阅IDE的入门指南*。
验证

------------------

要验证应用程序是否正常工作,请将SPI0连接到SPI1,其中一个或多个板加载了SPI程序。按下板上的按钮(DIO5),并根据您的连接配置观察LED(DIO6)是否闪烁:
1) 如果您使用的是单板,LED会闪烁两次,表示SPI0和SPI1都已正确地接收到来自彼此的消息。
2) 如果你使用的是两块板,并且已经连接了所有的电线,那么LED每个板上闪烁两次,表示SPI0和SPI1各有正确接收到来自另一个板的消息。
3) 如果您使用两个板,但选择仅连接的主一块板连接到另一块板的从属板,LED只闪烁一次
每个板,以指示只有单个SPI实例接收到消息源代码存在于“app.c”和“app.h”中。驱动程序配置为
在`RTE_Device.h`中指定。

备注
----有时RSL10中的固件无法成功重新闪存,原因是应用程序进入睡眠模式或持续重置(无论是设计或者由于编程错误)。为了避免这种情况,可以通过以下步骤实现使用DIO12的软件恢复模式:
1) 将DIO12接地。
2) 按下RESET按钮(这将重新启动应用程序在其初始化例程开始时暂停)。
3) 重新闪烁RSL10。成功重新闪烁后,断开DIO12与接地,然后按下RESET按钮,以便应用程序现在可以工作正确地。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值