一起学nRF51xx 15 - spis
前言
SPIS是一個從SPI,它與EasyDMA一起支持與外部的主SPI超低功耗串行通信。EasyDMA使得SPIS交互無需CPU的介入。在提高數據傳輸效率的同時還減輕了CPU的負擔。
SPIS即是SPI從模式,但它比stm32中直接將spi設置為從模式不同的是它硬件綁定了DMA功能。本節我們將用STM32開發板通過spi接口發送數據給NRF51822并把接收到的數據通過串口打印出來,程序中用到的引腳: 1) CS--P0.12 2)SCK--P0.13 3)MISO--P0.14 4)MOSI--P0.15。
示例詳解
基于硬件平臺:nrf51822ek_tm開發板。
?
本示例所用的最小系統板原理圖:
?
工程名為nrfxx-spis確認后按下圖選擇芯片為nrf51822_xxAA->ok
在彈出的對話框中勾選CMSIS中的CORE;Device中的Startup(后面有nrf51Series字樣的);在nrf_device中勾選nrf_gpio, nrf_uart, nrf_spis, nrf_delay,nrf_err并在nrf_Libraries中勾選app_error,nrf_assert模塊。
?
?
?
OK之后工程自動生成如下代碼:
新建一個空白文檔,保存為main.c,并加入工程中:
配置工程,選擇使用MicroLIB庫,可以減小程序體積:
加入NRF51定義,并選擇化等級3,可以減小程序體積,但仿真運行時可能會出現與代碼順序不一致現象:
?
調試工具選擇J-LINK,并將接口設置為SW口勾選下載程序后自動復位及運行:
?
?
?
?
????? SPI主機用一個STM32開發板模擬,對應的程序源碼在工程文件夾中的stm32_spim文件文件夾中,連接好STM32開發板和nrf51開發板:
分別下載對應的程序,可以看到NRF51822開發板上的串口助手中打印了以下輸出內容:
通過邏輯分析儀也可以發現STM開發板成功發出了相應的數據
關于nrf51xx及flash的更詳細介紹可以參看《nRF51822_RM_v3.0.1.pdf》或https://infocenter.nordicsemi.com/index.jsp。
?
OK,本期實驗完成!下期見!同時如果大家有什么疑問或是有想了解的其它內容,也歡迎大家留言!!最后喜歡這個公眾號的同學們記得加關注了,會有不定期技術干貨推出!!
文中源碼資料下載,在公眾號里給十三發消息:
下載|一起學nRF51xx 15
?
關注十三公眾號
?
總結
以上是生活随笔為你收集整理的一起学nRF51xx 15 - spis的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一起学nRF51xx 14 - tem
- 下一篇: 一起学nRF51xx 16 - adc