使用PKE8720DF-C13-F10(AMB26)开发板——Master与Slave互发数据并打印(基于SPI实验)

 目录

1. PKE8720DF-C13-F10(AMB26)引脚图和功能

 2. Master与Slave互发数据并打印

(1)材料准备

(2)代码修改

(3)线路连接

(4)使用串口调试工具(这里用的是Tera Term)来验证测试结果

(5)实验结果


        大家仔细阅读之前写的使用PKE8720DF-C13-F10(AMB26)开发板——周期性点亮LED灯这篇文章,了解关于PKE8720DF-C13-F10(AMB26)开发板的特性、Linux编译环境准备、SDK code下载与编译生成bin文件、使用自带Image tool怎么将bin文件烧到板子里面、案例demo,可以很方便的上手PKE8720DF-C13-F10(AMB26)开发板。

        本文主要描述使用PKE8720DF-C13-F10(AMB26)开发板(基于SPI实验)如何让Master与Slave互发数据并打印,让用户更直观的理解SPI相关的东西。

SPI:Seriel Peripheral Interface (串行外设接口),是 MCU 中常用的外设接口。SPI 通信原理是以主从方式进行,通常有一个主设备、一个或多个从设备,并且至少需要4根线才能工作,分别为 MISO(主入从出)、MOSI(主出从入)、SCLK(时钟)、SS(片选),支持全双工模式。

首先需要理解PKE8720DF-C13-F10(AMB26)引脚图和功能方面的知识。

1. PKE8720DF-C13-F10(AMB26)引脚图和功能

放大上图之后可以看到:

PKE8720DF-C13-F10开发板有两组SPI,分别是SPI1和SPI0,SPI1包括SPI1_MOSI(PA12)、SPI1_MISO(PA13)、SPI1_SCLK(PA14)、SPI1_SS(PA15),SPI0包括SPI0_MOSI(PB18)、SPI0_MISO(PB19)、SPI0_SCLK(PB20)、SPI0_SS(PB21)。默认的,PKE8720DF-C13-F10开发板使用SPI1作为Master,使用SPI0作为Slave。

 2. Master与Slave互发数据并打印

(1)材料准备

  • 1 块 PKE8720DF-C13-F10开发板
  • 1 根 USB转type-C数据线
  • 4 根 杜邦线

(2)代码修改

本实验的代码位于~\ambd_sdk\project\realtek_amebaD_va0_example\example_sources\SPI\raw\spi\src\main.c,

根据以上引脚图说明,需要修改如下pin脚相关的define:

修改之后替换/project/realtek_amebaD_va0_example/src/src_hp里面的main.c, 依照使用PKE8720DF-C13-F10(AMB26)开发板——周期性点亮LED灯的方法make all生成3个bin文件:

km0_boot_all.bin

km4_boot_all.bin

km0_km4_image2.bin

之后download 这三个bin文件到板子。

(3)线路连接

在目录~\ambd_sdk\project\realtek_amebaD_va0_example\example_sources\SPI\raw\spi\下面的readme.txt对这个案例进行了相关的说明。依照说明,

    Connect SPI0_MOSI (PB_18) to SPI1_MOSI (PA_12)
    Connect SPI0_MISO (PB_19) to SPI1_MISO (PA_13)
    Connect SPI0_SCLK (PB_20) to SPI1_SCLK (PA_14)
    Connect SPI0_CS (PB_21)      to SPI1_CS   (PA_15)

 接线图如下:

(4)使用串口调试工具(这里用的是Tera Term)来验证测试结果

打开Tera Term,进行如下设定(COM15是USB转type-C数据线接到PC上显示的COM口):

选择Setup->Serial port,设置Speed:115200,Data:8 bit,Parity:none,Stop bits:1 bit,再点击New setting,设置完毕。

(5)实验结果

按开发板上的reset按键重置并启动板子,可以看到Tera Term上面会打印以下log:

log里面第1条:Master一开始向Slave写入0x01,第2条Slave读到0x01并且向Master写入0x02,第2条Master有读到,......以此类推。

第2个虚线下方的log可以更明显的看出:Master写的数据和Slave读的数据一致。

 实验结果符合预期!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值