完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
支援晶片系列: NUC123series 所使用的開發軟件包: NUC123SeriesBSP_CMSIS_V3.00.001 Project 所在的目錄: Master: \NUC123SeriesBSP_CMSIS_V3.00.001_SPI_DUALIOMode\SampleCode\StdDriver\SPI_MasterDualIOMode\KEIL Slave: \NUC123SeriesBSP_CMSIS_V3.00.001_SPI_DUALIOMode\SampleCode\StdDriver\SPI_SlaveDualIOMode\KEIL 所使用的板子:Nutiny_NUC123 x 2 功能描述: 當我們使用SPI Flash的時候, 為了加快讀/寫速度, 有支援Dual I/O或是Quad I/O功能的型號是一大優點, 但是控制的單片機要如何讀寫SPI Flash呢? 這個範例代碼分別提供使用Dual I/O功能的Master和Slave的代碼, 連接方式如下圖. 首先在Dual I/O模式下, Master會先傳送16個字節的資料, 當Slave接收到後會使用串口打印出; 接著再換Slave傳送16個字節的資料, 當Master接收到後會使用串口打印出. 這樣就可以使用Dual I/O功能來傳送和接收資料了. |
|
相关推荐
1个回答
|
|
|
怎麼才能在NUC123系列的MCU上使用Dual I/O功能來讀寫SPI Flash呢?首先要使用NUC123SeriesBSP_CMSIS_V3.00.001開發軟件包中的SPI_MasterDualIOMode和SPI_SlaveDualIOMode範例程式,建立一對Master-Slave的SPI連接模型。然後,在Master的程式碼中,必須開啟Dual I/O功能的選項,這樣才能使用Dual I/O模式來讀寫SPI Flash。方法是通過SPI_Open()函數中第三個參數SPI_DUAL_IO,設置為ENABLE,如下所示:
SPI_Open(SPI_MASTER, SPI_MODE_0, SPI_DUAL_IO, 8, 2000000); 在Slave的程式碼中,同樣需要配置Dual I/O模式,方法也是通過SPI_Open()函數中第三個參數SPI_DUAL_IO,設置為ENABLE。 接下來,在Master中,使用SPI_DualIORead()和SPI_DualIOWrite()函數來讀寫SPI Flash,即可開啟Dual I/O功能。例如: SPI_ENABLE_DUAL_IO_MODE(SPI0); // 開啟Dual I/O模式 SPI_DualIORead(SPI0, 0x1000, 8, au8RData, 16); // 讀取SPI Flash中地址0x1000的8位資料 SPI_DualIOWrite(SPI0, 0x2000, 16, au8WData, 32); // 寫SPI Flash中地址0x2000的16位資料 需要注意的是,具體的讀寫SPI Flash操作,需要根據具體的SPI Flash型號和芯片手冊來實現。此外,Dual I/O功能不是所有的SPI Flash都支援,需要在購買時確認是否支援此功能。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
2022 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4789 浏览 0 评论
4270 浏览 9 评论
3858 浏览 16 评论
4431 浏览 1 评论
4258浏览 3评论
3434浏览 0评论
1200浏览 0评论
2887浏览 0评论
3949浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-13 04:01 , Processed in 1.237778 second(s), Total 74, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
700