国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 1330|回復(fù): 0
打印 上一主題 下一主題

【瘋殼·智能穿戴開發(fā)教程4】開源藍(lán)牙心率防水運動手環(huán)-外部 Flash 讀寫

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-8-22 12:00:28 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
開源藍(lán)牙心率防水運動手環(huán)
——瘋殼·智能穿戴開發(fā)系列
外部 Flash 讀寫






1  SPI+簡介

  本節(jié)中,我們將使用 DA14580 自帶的 SPI+來進行對外部 Flash 的讀寫操作。

  SPI(Serial Peripheral interface),串行外圍設(shè)備接口,是是 Motorola 首先在其 MC68HCXX 系列處理器上定義的。SPI 接口主要應(yīng)用在EEPROM、FLASH、實時時鐘、AD 轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。
  該接口一般使用 4 條線:串行時鐘線(SCLK)、主機輸入/從機輸出數(shù)據(jù)線MISO、主機輸出/從機輸入數(shù)據(jù)線 MOSI 和低電平有效的從機選擇線 NSS。

  我們 DA14580 的這個 SPI+接口支持 SPI 總線的一個子集。這個串行接口在主/從模式可以發(fā)送和接受 8、16 或 32 位,并且在主模式可以發(fā)送 9 位。SPI+接口有雙向的 2*16 位字的 FIFO,功能得到了增強。
  我們這個接口可以工作在主或從模式;有 8、9、16、32 位的操作方式;SPI 控制器的時鐘達(dá)到 16MHz,SPI 時鐘源可以通過編程進行 1、2、4、8 分頻;SPI 的時鐘線達(dá)到 8MHz;支持 SPI 的 0、1、2、3 四種工作模式;SPI——DO 的空閑電平可以通過編程設(shè)置;可屏蔽的中斷發(fā)生器;單向讀和寫模式降低總線負(fù)載。

2  硬件設(shè)計

  本次我們所使用的外部 Flash 是 W25X20CL,它一共有 8 個引腳。1 號引腳 CS用于芯片的選擇。2 號引腳 DO 是數(shù)據(jù)輸出引腳。3 號引腳 WP 是寫保護。4 號是GND。5 號 DIO 引腳既可以作為數(shù)據(jù)輸入,也可以作為數(shù)據(jù)輸出。6 腳 CLK 是 Flash的串行時鐘信號。第 7 腳用于暫停 SPI 的通信。最后 VCC 就是電源腳。


圖 1

3  軟件設(shè)計

  要通過 SPI 進行對外部 Flash 的讀寫操作,我們首先是進行相關(guān)時鐘引腳的配置,也就是下面的函數(shù) periph_init()。





  在 periph_init()中,我們完成了 SPI,uart2 的管腳配置,以及對串口 2 進行初始化。

  然后,我們要進行的是對 SPI 接口的一個初始化。

  void spi_init(SPI_Pad_t *cs_pad_param, SPI_Word_Mode_t bitmode, SPI_Role_t role, SPI_Polarity_Mode_t clk_pol, SPI_PHA_Mode_t pha_mode, SPI_MINT_Mode_t irq, SPI_XTAL_Freq_t freq)
  第一個參數(shù) cs_pad_param 是分配給 SPI CS 信號的端口管腳,我們這里用的是 0.3 腳。
  第二個參數(shù)bitmode 是 SPI 操作的位數(shù),有 8.9.16.32 位操作模式,我們這里用的 8 位,所以填寫 SPI_MODE_8BIT。
  第三個參數(shù) role 是用來配置我們 SPI 的工作方式,我們這里用的是主 SPI,因此選擇 SPI_ROLE_MASTER。
  第 四 個 參 數(shù) clk_pol 是 用 來 選 擇 SPI 時 鐘 空 閑 極 性 , 我 們 用 的 是SPI_CLK_IDLE_POL_LOW,表示串行同步時鐘的空閑狀態(tài)為低電平。

  參數(shù) pha_mode 是選擇 SPI 的采樣邊沿,我們這里選的是 SPI_PHA_MODE_0。
  最后兩個參數(shù) irq 和 freq 分別是用來配置 SPI 中斷和時鐘分頻。我們選擇SPI_MINT_DISABLE 和 SPI_XTAL_DIV_8。

  以上是我們對 SPI 的初始化設(shè)置,當(dāng)然,大家也可以根據(jù)自己的需求進行配置。對 SPI 初始化設(shè)置完成之后,我們就可以開始讀寫外部 Flash 了,通過調(diào)用:
  int32_t spi_flash_write_data (uint8_t *wr_data_ptr, uint32_t address, uint32_t size);
  int32_t spi_flash_read_data (uint8_t *rd_data_ptr, uint32_t address, uint32_tsize)。

4  實驗現(xiàn)象

  首先,插好 Jlink 和 USB 轉(zhuǎn)串口,然后打開打開串口調(diào)試助手。

  (1)選擇串口號,我們圖中是 COM1,這個根據(jù)實際情況選擇。

  (2)配置串口參數(shù),波特率為 115200,數(shù)據(jù)位 8,停止位 1,沒有校驗位和控制流,與下圖一致。
  (3)點擊打開串口,4 是串口接收框。

       
圖 2


  配置完串口之后,打開我們提供的代碼。

  (1)點擊仿真按鍵。


圖 3
  (2)點擊運行代碼。


圖 4
  完成之后,就能看到串口調(diào)試助手接收框信息如下。


圖 5




文件下載請點擊: 2_(100%開源)藍(lán)牙心率防水運動手環(huán)_外部Flash讀寫.pdf (727.79 KB)


您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本色综合 | 亚欧精品在线观看 | 欧美日韩另类在线 | 国产毛片一区二区三区精品 | 羞羞网站在线观看 | 天堂网在线看 | 美女操网站 | 五月天婷婷精品视频 | 福利网站污 | 黄色网址免费观看 | 女性爽爽影院免费观看麻豆 | 亚洲综合激情 | 男人天堂1024 | 九九热视频精品在线观看 | 动作动漫在线观看免费网站 | 青青草一区国产97 | 在线观看视频一区二区 | 最新一本大道香蕉综合 | 丁香色婷婷 | 在线精品国产成人综合第一页 | 免费高清小黄站在线观看 | 久草综合在线 | 亚洲视频精品在线观看 | 成人午夜动漫在线观看 | 日韩另类在线 | 破外女出血一级毛片 | 美女无遮挡免费视频 | 国产yw855.c免费观看网站 | 色综合久久久高清综合久久久 | 天堂在线www在线资源 | 国产精品高清一区二区三区 | 亚洲欧洲国产经精品香蕉网 | 91视频网页版 | 这里只有精品首页 | 四虎国产精品永久在线 | 毛片免费观看网址 | 伊人午夜| 日日综合网 | 香蕉尹人| 欧美日韩一区二区三区在线观看 | 一区在线播放 |