0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AT32講堂048 | 雅特力AT32 MCU SPI/I2S入門指南

雅特力 AT32 MCU ? 2023-03-17 09:44 ? 次閱讀

SPI接口概述

AT32的SPI接口提供軟件編程配置選項(xiàng),根據(jù)軟件編程配置方式不同,可以分別作為SPI和I2S使用。本文將分SPI和I2S分別介紹SPI接口作SPI或I2S的功能特性以及配置流程。AT32 SPI特點(diǎn):

可編程配置的全雙工或半雙工通信

--全雙工同步通信--半雙工同步通信(可以根據(jù)軟件編程配置選擇傳輸方向:發(fā)送或接收)

可編程配置主/從模式

可編程配置的CS模式:硬件/軟件CS模式

可編程配置的時(shí)鐘極性和相位

可編程配置的數(shù)據(jù)傳輸順序(MSB/LSB)

可編程配置的錯(cuò)誤中斷標(biāo)志(CS脈沖異常,接收溢出錯(cuò)誤,主模式錯(cuò)誤,CRC校驗(yàn)錯(cuò)誤)

數(shù)據(jù)接收/發(fā)送均支持DMA

兼容TI的SSP協(xié)議(即TI模式)

AT32 I2S特點(diǎn):

可編程配置的操作模式

--從設(shè)備發(fā)送--從設(shè)備接收--主設(shè)備發(fā)送--主設(shè)備接收

可編程配置的時(shí)鐘極性

可編程配置的時(shí)鐘頻率(8KHz到192KHz)

可編程配置的數(shù)據(jù)位數(shù)(16位,24位,32位)

可編程配置的聲道位數(shù)(16位,32位)

可編程配置的音頻協(xié)議

--I2S飛利浦標(biāo)準(zhǔn)--高字節(jié)對(duì)齊標(biāo)準(zhǔn)(左對(duì)齊)--低字節(jié)對(duì)齊標(biāo)準(zhǔn)(右對(duì)齊)--PCM標(biāo)準(zhǔn)(長幀/短幀)

支持I2S全雙工

支持DMA傳輸

在通訊期間可提供頻率固定為256倍Fs(音頻采樣頻率)的外設(shè)主時(shí)鐘

SPI功能介紹

本章主要介紹SPI基本功能,以及AT32 SPI的各種附加可配置選項(xiàng)。

SPI硬件接口

SPI接口定義如下:

CS:片選引腳(可選)。通常由主機(jī)輸出,從機(jī)輸入。后續(xù)CS管理章節(jié)作詳細(xì)介紹。

SCK:時(shí)鐘引腳。由主機(jī)輸出,從機(jī)輸入。

MISO:主收從發(fā)引腳。主機(jī)則作為接收數(shù)據(jù)引腳,從機(jī)則做為發(fā)送數(shù)據(jù)引腳。

MOSI:主發(fā)從收引腳。主機(jī)則作為發(fā)送數(shù)據(jù)引腳,從機(jī)則作為接收數(shù)據(jù)引腳。

以下介紹幾種常見的SPI通信接線方式。1)如下圖1,是單主單從、全雙工、CS硬件模式的應(yīng)用接線示意圖。圖1 SPI單主單從、全雙工、硬件CS管理接線示意01114f2a-c33f-11ed-ad0d-dac502259ad0.png2)如下圖2,是單主單從、全雙工、CS軟件模式的應(yīng)用接線示意圖。在CS軟件管理模式下,無需使用CS引腳,主/從機(jī)的CS引腳都可以釋放給其他應(yīng)用使用。此時(shí),從機(jī)對(duì)SWCSIL位清0或置1等效于“硬件CS模式”下的CS引腳輸入低電平和高電平。主機(jī)則必須將SWCSIL位置1,以保證正確的處于主機(jī)模式。圖2 SPI單主單從、全雙工、軟件CS管理接線示意013b16a2-c33f-11ed-ad0d-dac502259ad0.png

3)如下圖3,是單主多從全雙工接線示意。主機(jī)使用普通I/O口1~n輸出以驅(qū)動(dòng)從機(jī)1~n的片選CS,主機(jī)的SCK,MISO,MOSI和從機(jī)的SCK,MISO,MOSI引腳一對(duì)多連接。此時(shí)SPI主機(jī)可以通過I/O1~n的選擇與多個(gè)從機(jī)進(jìn)行分時(shí)通信。此時(shí)從機(jī)必須使用硬件CS模式。主機(jī)可以使用軟件CS模式,主機(jī)CS對(duì)應(yīng)的引腳可以釋放給其他應(yīng)用使用。圖3 SPI單主多從、全雙工接線示意015fe7ac-c33f-11ed-ad0d-dac502259ad0.png4)如下圖4,AT32的SPI增加了SPI半雙工模式,此模式下只需要使用3線即可通信。主機(jī)使用MOSI進(jìn)行數(shù)據(jù)收/發(fā)。當(dāng)主機(jī)配置為半雙工發(fā)送模式(SLBEN=1,SLBTD=1)時(shí),主機(jī)MOSI為輸出引腳,用于發(fā)送數(shù)據(jù);當(dāng)主機(jī)配置為半雙工接收模式(SLBEN=1,SLBTD=0)時(shí),主機(jī)MOSI為輸入引腳,用于接收數(shù)據(jù)。從機(jī)使用MISO進(jìn)行數(shù)據(jù)收/發(fā)。當(dāng)從機(jī)配置為半雙工發(fā)送模式(SLBEN=1,SLBTD=1)時(shí),從機(jī)MISO為輸出引腳,用于發(fā)送數(shù)據(jù);當(dāng)從機(jī)配置為半雙工接收模式(SLBEN=1,SLBTD=0)時(shí),從機(jī)MISO為輸入引腳,用于接收數(shù)據(jù)。圖4 SPI單主單從、半雙工接線示意018c1bce-c33f-11ed-ad0d-dac502259ad0.png

SPI數(shù)據(jù)接收和發(fā)送

如下圖5,用戶軟件程序可以讀和寫數(shù)據(jù)寄存器,其他部分全由硬件自動(dòng)完成。以全雙工,硬件CS管理,8bit數(shù)據(jù)格式為例。收發(fā)一筆數(shù)據(jù)的流程如下:作為SPI主機(jī)時(shí):軟件使能SPI(SPIEN=1)后,硬件控制CS引腳輸出低電平,以片選從機(jī)。之后軟件往數(shù)據(jù)寄存器寫入數(shù)據(jù),如下圖5的“軟件寫數(shù)據(jù)寄存器”處,相當(dāng)于往發(fā)送緩沖器寫入待發(fā)送數(shù)據(jù),之后硬件會(huì)自動(dòng)將發(fā)送緩沖器的待發(fā)送數(shù)據(jù)搬運(yùn)到移位寄存器。同時(shí)將發(fā)送緩沖器空標(biāo)志置1(TDBE=1),以提醒軟件又可以往數(shù)據(jù)寄存器寫入下一筆待發(fā)送的數(shù)據(jù)。之后硬件立即開始在SCK引腳上輸出時(shí)鐘信號(hào),并在MOSI引腳上發(fā)出待發(fā)送數(shù)據(jù)的第一bit數(shù)據(jù)。之后硬件從MISO引腳上讀取待接收數(shù)據(jù)的第一bit數(shù)據(jù)并放入移位寄存器中(移位寄存器由于之前發(fā)送了1bit數(shù)據(jù),此時(shí)正好有一bit位置可以存放收到的數(shù)據(jù))。之后硬件會(huì)通過移位寄存器自動(dòng)發(fā)送和接收剩下的7bit數(shù)據(jù)。之后硬件會(huì)將移位寄存器中接收到的8bit數(shù)據(jù)搬運(yùn)到接收緩沖器中,并將接收緩沖器滿標(biāo)志置1(RDBF=1),以提醒軟件可以通過讀取數(shù)據(jù)寄存器來讀取剛剛接收到的這筆數(shù)據(jù)。作為SPI從機(jī)時(shí):軟件使能SPI(SPIEN=1)后,軟件往數(shù)據(jù)寄存器寫入數(shù)據(jù),相當(dāng)于往發(fā)送緩沖器寫入待發(fā)送數(shù)據(jù),然后硬件會(huì)將發(fā)送緩沖器空標(biāo)志清0(TDBE=0),以提醒軟件此時(shí)發(fā)送緩沖器已有待發(fā)送數(shù)據(jù)了。之后硬件檢測CS引腳和SCK引腳,等待來自主機(jī)的片選和時(shí)鐘信號(hào)。檢測到片選和時(shí)鐘信號(hào)之后,硬件自動(dòng)將發(fā)送緩沖器的待發(fā)送數(shù)據(jù)搬運(yùn)到移位寄存器并在MISO引腳上發(fā)出待發(fā)送數(shù)據(jù)的第一bit。同時(shí)將發(fā)送緩沖器空標(biāo)志置1(TDBE=1),以提醒軟件又可以往數(shù)據(jù)寄存器寫入下一筆待發(fā)送的數(shù)據(jù)。之后硬件從MOSI引腳上讀取待接收數(shù)據(jù)的第一bit數(shù)據(jù)并放入移位寄存器中(移位寄存器由于之前發(fā)送了1bit數(shù)據(jù),此時(shí)正好有一bit位置可以存放收到的數(shù)據(jù))。之后硬件根據(jù)在SCK上的時(shí)鐘信號(hào),會(huì)在MISO和MOSI引腳上發(fā)送和接收剩下的7bit數(shù)據(jù)。之后硬件會(huì)將移位寄存器中接收到的8bit數(shù)據(jù)搬運(yùn)到接收緩沖器中,并將接收緩沖器滿標(biāo)志置1(RDBF=1),以提醒軟件可以通過讀取數(shù)據(jù)寄存器來讀取剛剛接收到的這筆數(shù)據(jù)。也可以參考下一小節(jié)“SPI時(shí)序”來理解SPI收發(fā)邏輯。

圖5 SPI數(shù)據(jù)接收/發(fā)送框圖0203f824-c33f-11ed-ad0d-dac502259ad0.png

SPI時(shí)序

本節(jié)介紹SPI通信時(shí)序。包括全雙工和半雙工的主/從通信時(shí)序。1、SPI全雙工時(shí)序以全雙工、硬件CS管理、單主單從通信為例。其中主機(jī)端相關(guān)配置如下:MSTEN=1:設(shè)備為主機(jī);SLBEN=0:全雙工模式;CLKPOL=0:SCK空閑輸出低電平;CLKPHA=0:SCK第一個(gè)邊沿開始進(jìn)行數(shù)據(jù)捕獲;FBN=0:幀位個(gè)數(shù)為8bit;SWCSEN=0,HWCSOE=1:使用硬件CS管理;主機(jī)發(fā)送數(shù)據(jù)(MOSI):0xAA,0xCC,0xAA;從機(jī)發(fā)送數(shù)據(jù)(MISO):0xCC,0xAA,0xCC。

主機(jī)端時(shí)序見下圖6:圖6 硬件CS管理-全雙工-主機(jī)通信時(shí)序

025df932-c33f-11ed-ad0d-dac502259ad0.png

其中從機(jī)端相關(guān)配置如下:MSTEN=0:設(shè)備為從機(jī)SLBEN=0:全雙工模式;CLKPOL=0:SCK空閑低電平CLKPHA=0:SCK第一個(gè)邊沿進(jìn)行數(shù)據(jù)捕獲FBN=0:幀位個(gè)數(shù)為8bitSWCSEN=0:使用硬件CS管理主機(jī)發(fā)送數(shù)據(jù)(MOSI):0xAA,0xCC,0xAA從機(jī)發(fā)送數(shù)據(jù)(MISO):0xCC,0xAA,0xCC從機(jī)端時(shí)序見下圖7:圖7 硬件CS管理-半雙工-從機(jī)通信時(shí)序02933a16-c33f-11ed-ad0d-dac502259ad0.png

2、SPI半雙工時(shí)序半雙工時(shí)序下,有主機(jī)發(fā)送、從機(jī)接收、主機(jī)接收、從機(jī)發(fā)送4種模式。1)以半雙工、硬件CS管理、主機(jī)發(fā)送-從機(jī)接收通信為例。其中主機(jī)端相關(guān)配置如下:MSTEN=1:設(shè)備為主機(jī);SLBEN=1:使能單線雙向半雙工模式;SLBTD=1:發(fā)送模式;CLKPOL=0:SCK空閑輸出低電平;CLKPHA=0:SCK第一個(gè)邊沿開始進(jìn)行數(shù)據(jù)捕獲;FBN=0:幀位個(gè)數(shù)為8bit;SWCSEN=0,HWCSOE=1:使用硬件CS管理;主機(jī)發(fā)送數(shù)據(jù):0xAA,0xCC,0xAA;

主機(jī)端時(shí)序見下圖8:圖8 硬件CS管理-半雙工-主發(fā)時(shí)序

02dcf232-c33f-11ed-ad0d-dac502259ad0.png其中從機(jī)端相關(guān)配置如下:MSTEN=0:設(shè)備為從機(jī);SLBEN=1:使能單線雙向半雙工模式;SLBTD=0:接收模式;CLKPOL=0:SCK空閑低電平;CLKPHA=0:SCK第一個(gè)邊沿進(jìn)行數(shù)據(jù)捕獲;FBN=0:幀位個(gè)數(shù)為8bit;SWCSEN=0:使用硬件CS管理;從機(jī)接收數(shù)據(jù):0xAA,0xCC,0xAA;從機(jī)端時(shí)序見下圖9:圖9 硬件CS管理-半雙工-從收時(shí)序02fdf5ae-c33f-11ed-ad0d-dac502259ad0.png

2)以半雙工、硬件CS管理、主機(jī)接收-從機(jī)發(fā)送通信為例。其中主機(jī)端相關(guān)配置如下:MSTEN=1:設(shè)備為主機(jī);SLBEN=1:使能單線雙向半雙工模式;SLBTD=0:接收模式;CLKPOL=0:SCK空閑輸出低電平;CLKPHA=0:SCK第一個(gè)邊沿開始進(jìn)行數(shù)據(jù)捕獲;FBN=0:幀位個(gè)數(shù)為8bit;SWCSEN=0,HWCSOE=1:使用硬件CS管理;主機(jī)接收數(shù)據(jù):0xAA,0xCC,0xAA;主機(jī)端時(shí)序見下圖10:此模式下,較為特別的是,SPI主機(jī)一旦使能(SPIEN=1),就會(huì)連續(xù)不斷的輸出時(shí)鐘。因此,主機(jī)在接收完需要接收的數(shù)據(jù)后,需要關(guān)閉SPI。在本例中,接收完連續(xù)的3筆數(shù)據(jù)后,也就是下圖10的箭頭處,需要關(guān)閉SPI,輸出多余的時(shí)鐘。另外,如下圖10,此模式下,BF標(biāo)志始終為低。圖10 硬件CS管理-半雙工-主收時(shí)序03191b04-c33f-11ed-ad0d-dac502259ad0.png其中從機(jī)端相關(guān)配置如下:MSTEN=0:設(shè)備為從機(jī);SLBEN=1:使能單線雙向半雙工模式;SLBTD=1:發(fā)送模式;CLKPOL=0:SCK空閑低電平;CLKPHA=0:SCK第一個(gè)邊沿進(jìn)行數(shù)據(jù)捕獲;FBN=0:幀位個(gè)數(shù)為8bit;SWCSEN=0:使用硬件CS管理;從機(jī)發(fā)送數(shù)據(jù):0xAA,0xCC,0xAA;從機(jī)端時(shí)序見下圖11:圖11 硬件CS管理-半雙工-從發(fā)時(shí)序03319364-c33f-11ed-ad0d-dac502259ad0.png

SPI數(shù)據(jù)收發(fā)方式

SPI的接收和發(fā)送如前文所述,是通過操作數(shù)據(jù)寄存器來完成的。而根據(jù)操作數(shù)據(jù)寄存器的方法,SPI有以下3種數(shù)據(jù)接收發(fā)送方式。輪詢方式輪詢方式不需要使能SPI中斷和DMA。只需要在main函數(shù)中不斷讀取STS寄存器,并判斷TDBE和RDBF標(biāo)志是否置起,以確定何時(shí)向數(shù)據(jù)寄存器寫入待發(fā)送數(shù)據(jù),何時(shí)從數(shù)據(jù)寄存器讀取接收到的數(shù)據(jù)。比較耗費(fèi)CPU資源,不建議使用此方式。具體請(qǐng)參考“案例1--SPI全雙工輪詢方式通信”一節(jié)。中斷方式中斷方式需要開啟“發(fā)送數(shù)據(jù)緩沖器空中斷使能”和“接收數(shù)據(jù)緩沖器滿中斷使能”,即設(shè)置TDBEIE=1,RDBFIE=1。并配置和使能SPI中斷。之后在SPI中斷里進(jìn)行數(shù)據(jù)的發(fā)送和接收,避免了輪詢方式的等待耗時(shí),占用CPU資源相對(duì)較少。具體請(qǐng)參考“案例4--SPI半雙工中斷方式通信”或“案例5--SPI半雙工中斷方式通信--加收發(fā)切換”一節(jié)。DMA方式DMA方式需要開啟SPI的DMA接收/發(fā)送功能(DMAREN=1,DMATEN=1)。并配置DMA通道映射到SPI和使能DMA。之后的接收和發(fā)送均由DMA完成,收/發(fā)過程不再需要軟件參與,不占用CPU資源。具體請(qǐng)參考“案例2--SPI全雙工DMA方式通信”一節(jié)。

時(shí)鐘控制器

SPI協(xié)議采用同步傳輸。作主機(jī)時(shí),需要時(shí)鐘控制器產(chǎn)生通信時(shí)鐘用于SPI接口的數(shù)據(jù)收發(fā),并且需要將該通信時(shí)鐘通過SCK引腳輸出給從機(jī),用于從機(jī)的數(shù)據(jù)收發(fā);作從機(jī)時(shí),需要外部提供通信時(shí)鐘,從SCK引腳輸入到SPI接口內(nèi)部作為通信時(shí)鐘使用。對(duì)用戶而言,可軟件配置的主要有極性、相位、分頻系數(shù)三個(gè)參數(shù)。極性SPI時(shí)鐘極性,即空閑時(shí)SCK引腳輸出的電平。通過配置CLKPOL位來選擇SPI時(shí)鐘極性。如下圖12:CLKPOL=0時(shí),SCK空閑為低電平;CLKPOL=1時(shí),SCK空閑為高電平。圖12 時(shí)鐘極性對(duì)比035afd30-c33f-11ed-ad0d-dac502259ad0.png相位SPI時(shí)鐘相位,即SPI數(shù)據(jù)捕獲邊緣。通過配置CLKPHA位來選擇SPI時(shí)鐘極性。如下圖13:CLKPHA=0時(shí),第一個(gè)邊沿為捕獲采樣邊沿。在本例中(CLKPOL=0),也就是上升沿為采樣沿;相對(duì)的,本例中下降沿為驅(qū)動(dòng)沿。CLKPHA=1時(shí),第二個(gè)邊沿為捕獲采樣邊沿。在本例中(CLKPOL=0),也就是下降沿為采樣沿;相對(duì)的,本例中上升沿為驅(qū)動(dòng)沿。圖13 時(shí)鐘相位對(duì)比03a2130a-c33f-11ed-ad0d-dac502259ad0.png
分頻系數(shù)SPI時(shí)鐘是從APB時(shí)鐘分頻得到的,通過配置MDIV[3:0]和MDIV3EN來選擇需要的分頻系數(shù),以確定SPI時(shí)鐘。分頻系數(shù)僅主機(jī)配置有效。從機(jī)需要外部提供時(shí)鐘,因此此項(xiàng)配置無效。

CS管理

SPI CS包含硬件和軟件管理兩種模式,又根據(jù)主機(jī)/從機(jī)的不同,有不同的配置和應(yīng)用場景。在CS為輸入模式時(shí)(HWCSOE=0),如下圖14,主機(jī)和從機(jī)均通過SWCSEN位來選擇SPI實(shí)際使用的CS信號(hào)來自軟件設(shè)置(SWCSIL)還是外部CS引腳電平。在CS為輸出模式時(shí)(HWCSOE=1),軟件CS模式相關(guān)配置無效。圖14 SPI數(shù)據(jù)接收/發(fā)送框圖03bbddbc-c33f-11ed-ad0d-dac502259ad0.png以下分別列出了主機(jī)和從機(jī)在不同的CS管理模式下的狀態(tài)和應(yīng)用場景。主機(jī)CS管理:下表1列出了幾種主機(jī)CS管理的配置及應(yīng)用場景。表1 SPI主機(jī)CS管理配置03daac42-c33f-11ed-ad0d-dac502259ad0.png注:“--”表示此項(xiàng)配置無效,建議保持默認(rèn)配置。從機(jī)CS管理:下表2列出了從機(jī)CS管理的幾種配置和應(yīng)用場景。其中,從模式下HWCSOE配置無效,該位只在主模式下有效。表2 SPI從機(jī)CS管理配置0441cf62-c33f-11ed-ad0d-dac502259ad0.png注:“--”表示此項(xiàng)配置無效,建議保持默認(rèn)配置。

CRC校驗(yàn)

AT32 SPI具有獨(dú)立的發(fā)送和接收CRC計(jì)算單元,用戶可通過軟件配置使能此功能。使能CRC校驗(yàn)之后:硬件會(huì)對(duì)發(fā)送的數(shù)據(jù)進(jìn)行CRC計(jì)算,并將計(jì)算得到的CRC校驗(yàn)碼放在SPI_TCRC寄存器中,CRC校驗(yàn)碼緊接在數(shù)據(jù)之后發(fā)送;且硬件會(huì)在接收一筆數(shù)據(jù)時(shí)對(duì)接收到的數(shù)據(jù)進(jìn)行CRC計(jì)算,并將計(jì)算得到的CRC校驗(yàn)碼放在SPI_RCRC寄存器中,硬件會(huì)在一筆連續(xù)的數(shù)據(jù)接收完成后將最后接收到的CRC校驗(yàn)碼與SPI_RCRC寄存器中的校驗(yàn)碼進(jìn)行比較,如果不符,CRC校驗(yàn)錯(cuò)誤位(CCERR)會(huì)置起,若使能了錯(cuò)誤中斷(ERRIE=1),將會(huì)產(chǎn)生中斷。另外,SPI通信方式使用DMA和使用輪詢/中斷方式時(shí),CRC功能的軟件操作步驟有區(qū)別,如下:輪詢/中斷方式:①配置CRC多項(xiàng)式:配置SPI_CPOLY寄存器和需要通信的SPI一致(默認(rèn)值為0x0007);②使能CRC功能:CCEN=1;③使能SPI:SPIEN=1;④發(fā)送待發(fā)送的數(shù)據(jù)data_1~data_n;⑤請(qǐng)求發(fā)送CRC校驗(yàn)碼:NTC=1。注:NTC置1的時(shí)間參考下圖15的⑤段,需要在最后一筆數(shù)據(jù)(data_n)寫入數(shù)據(jù)寄存器到發(fā)送完成之間。實(shí)際編寫軟件代碼時(shí),建議在data_n寫入數(shù)據(jù)寄存器之后立即將NTC置1。⑥硬件自動(dòng)在data_n發(fā)送完成后立即發(fā)送CRC校驗(yàn)碼(此時(shí)無需軟件參與)。輪詢方式使用CRC功能可參考“案例6--SPI CRC功能使用”。圖15 CRC使用流程(輪詢/中斷方式)0485a1b0-c33f-11ed-ad0d-dac502259ad0.png

DMA方式:

SPI在使用DMA方式通信時(shí),不需要軟件代碼去設(shè)置請(qǐng)求發(fā)送CRC校驗(yàn)碼,即不需要去置位NTC位。具體步驟如下:①配置DMA:請(qǐng)參考“案例2--SPI全雙工DMA方式通信”的DMA配置部分;②配置CRC多項(xiàng)式:配置SPI_CPOLY寄存器和需要通信的SPI一致(默認(rèn)值為0x0007);③使能CRC功能:CCEN=1;④使能SPI:SPIEN=1;⑤數(shù)據(jù)及CRC接收完成后需關(guān)閉SPI和DMA,之后再開啟,準(zhǔn)備下一次通信。

TI模式(TI SSP協(xié)議)

AT32 SPI接口支持TI SSP協(xié)議,即TI模式。用戶可以通過將TIEN位置1來使能TI模式。使能TI模式后,SPI接口將按照TI協(xié)議要求產(chǎn)生時(shí)鐘SCK,和片選信號(hào)CS。也就是CS軟/硬件管理相關(guān)控制位、時(shí)鐘極性/相位相關(guān)控制位配置無效,請(qǐng)保持默認(rèn)設(shè)置。使能TI模式后,幀格式(8/16bit)配置、CRC校驗(yàn)、DMA等功能仍然可以使用。TI模式下,連續(xù)和不連續(xù)通信稍有區(qū)別。連續(xù)通信時(shí),只有第一筆數(shù)據(jù)發(fā)送時(shí)有一個(gè)dummy CLK;不連續(xù)通信時(shí),每筆數(shù)據(jù)都有一個(gè)dummy CLK。參考下圖16和圖17。TI模式連續(xù)通信時(shí)序圖見下圖16。主機(jī)發(fā)送數(shù)據(jù)(MOSI):0xAA,0xCC,0xAA;從機(jī)發(fā)送數(shù)據(jù)(MISO):0xCC,0xAA,0xCC。圖16 TI模式連續(xù)通信時(shí)序圖04aee14c-c33f-11ed-ad0d-dac502259ad0.pngTI模式不連續(xù)通信時(shí)序圖見下圖17。主機(jī)發(fā)送數(shù)據(jù)(MOSI):0xAA,0xCC,0xAA;從機(jī)發(fā)送數(shù)據(jù)(MISO):0xCC,0xAA,0xCC。圖17 TI模式不連續(xù)通信時(shí)序圖04df4a30-c33f-11ed-ad0d-dac502259ad0.png注:AT32只有部分型號(hào)支持TI模式。AT32F425/F435/F437等型號(hào)支持TI模式,AT32F403/F403A/F407/F413/F415等型號(hào)不支持TI模式。具體請(qǐng)參考各型號(hào)的RM。

SPI錯(cuò)誤

AT32的SPI有4種錯(cuò)誤標(biāo)志。這4種錯(cuò)誤標(biāo)志共用一個(gè)錯(cuò)誤中斷使能位(ERRIE)。也就是當(dāng)ERRIE=1時(shí),產(chǎn)生以下4種錯(cuò)誤的任一錯(cuò)誤就會(huì)進(jìn)入SPI錯(cuò)誤中斷。CSPAS--CS脈沖異常置位標(biāo)志在TI模式下,當(dāng)SPI作從機(jī)使用時(shí),SPI會(huì)在數(shù)據(jù)傳輸期間偵測非預(yù)期的CS脈沖,當(dāng)發(fā)生CS脈沖異常置位錯(cuò)誤,CSPAS被硬件置1,如果開啟了錯(cuò)誤中斷使能(ERRIE=1),則會(huì)產(chǎn)生錯(cuò)誤中斷。之后可以通過軟件讀SPI_STS清除該位。當(dāng)偵測到CS脈沖異常時(shí),為避免數(shù)據(jù)錯(cuò)誤,軟件應(yīng)當(dāng)關(guān)閉SPI從機(jī),重新配置SPI主機(jī),再打開SPI從機(jī)以重新開始通信。注:僅在TI模式下,CSPAS錯(cuò)誤標(biāo)志才有效。ROERR--接收器溢出錯(cuò)誤標(biāo)志當(dāng)SPI數(shù)據(jù)寄存器已暫存一筆待讀數(shù)據(jù)時(shí),又收到一筆新數(shù)據(jù),則會(huì)發(fā)生接收器溢出錯(cuò)誤,ROERR被硬件置1,如果開啟了錯(cuò)誤中斷使能(ERRIE=1),則會(huì)產(chǎn)生錯(cuò)誤中斷。發(fā)生溢出錯(cuò)誤之后,SPI_DT寄存器存放的是最早收到的那筆數(shù)據(jù),發(fā)生溢出錯(cuò)誤之后收到的數(shù)據(jù)都被丟棄。之后依次讀取SPI_DT寄存器和SPI_STS寄存器可清除該標(biāo)志位。MMERR--主模式錯(cuò)誤標(biāo)志參考“CS管理”一節(jié),當(dāng)SPI主機(jī)為CS輸入模式且CS引腳輸入低電平時(shí),會(huì)產(chǎn)生主模式錯(cuò)誤,MMERR位會(huì)被硬件置1,且硬件會(huì)強(qiáng)制SPI進(jìn)入從機(jī)模式(MSTEN清0)并關(guān)閉SPI(SPIEN清0)。如果開啟了錯(cuò)誤中斷使能(ERRIE=1),則會(huì)產(chǎn)生錯(cuò)誤中斷。清除MMERR標(biāo)志位并從錯(cuò)誤狀態(tài)恢復(fù)請(qǐng)嚴(yán)格按照以下步驟執(zhí)行:①拉高CS引腳電平;②執(zhí)行一次對(duì)SPI_STS寄存器的讀或?qū)懖僮鳎虎蹐?zhí)行一次對(duì)SPI_CTRL1寄存器的寫操作;(不需要改變SPI_CTRL1的值,只需要寫這個(gè)動(dòng)作)④之后硬件會(huì)自動(dòng)清除MMERR標(biāo)志(此步驟不需要軟件代碼參與);⑤之后軟件可根據(jù)需要重新配置主/從模式和使能SPI。CCERR--CRC校驗(yàn)錯(cuò)誤標(biāo)志當(dāng)使能了CRC功能后,如果接收到的CRC校驗(yàn)碼(發(fā)送方發(fā)送的校驗(yàn)碼)和SPI_RCRC的校驗(yàn)碼(接收方根據(jù)接收到的數(shù)據(jù)計(jì)算的校驗(yàn)碼)不符,則硬件將CCERR位置1,如果開啟了錯(cuò)誤中斷使能(ERRIE=1),則會(huì)產(chǎn)生錯(cuò)誤中斷。由于發(fā)生了CRC校驗(yàn)錯(cuò)誤,軟件程序應(yīng)當(dāng)丟棄之前接收到的一筆數(shù)據(jù),并重新通信。軟件對(duì)CCERR位寫0可清除該標(biāo)志位。

SPI中斷

如下圖18,SPI有一個(gè)全局中斷向量。SPI中斷有三個(gè)中斷源:接收緩沖器滿、發(fā)送緩沖器空、通信錯(cuò)誤(詳見上一節(jié)“SPI錯(cuò)誤”)。這三個(gè)中斷源分別有對(duì)應(yīng)的使能位。下圖中,3個(gè)中斷使能位定義如下:

RDBFIE:接收數(shù)據(jù)緩沖器滿中斷使能

TDBEIE:發(fā)送數(shù)據(jù)緩沖器空中斷使能

ERRIE:錯(cuò)誤中斷使能

下圖中,5個(gè)標(biāo)志位定義如下:

ROERR:接收器溢出錯(cuò)誤

MMERR:主模式錯(cuò)誤

CCERR:CRC校驗(yàn)錯(cuò)誤

RDBF:接收數(shù)據(jù)緩沖器滿

TDBE:發(fā)送數(shù)據(jù)緩沖器空

圖18 SPI中斷示意05098e58-c33f-11ed-ad0d-dac502259ad0.png

I2S功能介紹

I2S硬件接口

I2S接口定義如下:

WS:聲道選擇。由主機(jī)輸出,從機(jī)輸入。

CK:時(shí)鐘。由主機(jī)輸出,從機(jī)輸入。

MCK:主時(shí)鐘輸出(可選)。在通訊期間可提供頻率固定為256倍Fs的外設(shè)主時(shí)鐘,僅在作為主機(jī)時(shí)有效。

SD:數(shù)據(jù)。主機(jī)/從機(jī)接收或發(fā)送數(shù)據(jù)均通過這個(gè)引腳。

以下是常見的I2S通信接線方式。如下圖19,是I2S主發(fā)從收的接線示意圖。圖19 I2S主發(fā)從收通信接線示意053cb04e-c33f-11ed-ad0d-dac502259ad0.png如下圖20,是I2S主收從發(fā)的接線示意圖。圖20 I2S主收從發(fā)通信接線示意0555beea-c33f-11ed-ad0d-dac502259ad0.png

I2S數(shù)據(jù)接收和發(fā)送

I2S數(shù)據(jù)收發(fā)模塊和上文的SPI共用數(shù)據(jù)寄存器和DMA映射,如上圖5中的接收/發(fā)送緩沖器、移位寄存器也都是共用的,因此軟件代碼操作類似,請(qǐng)參考下文的I2S案例一節(jié)。不過SPI默認(rèn)是全雙工,而I2S默認(rèn)是半雙工。AT32也為用戶提供I2S全雙工功能,后文I2S全雙工一節(jié)詳細(xì)介紹。

I2S音頻協(xié)議

AT32的I2S支持以下4種標(biāo)準(zhǔn)協(xié)議:

飛利浦標(biāo)準(zhǔn):STDSLE=0b00;

高字節(jié)對(duì)齊標(biāo)準(zhǔn)(左對(duì)齊):STDSLE=0b01;

低字節(jié)對(duì)齊標(biāo)準(zhǔn)(右對(duì)齊):STDSLE=0b10;

PCM標(biāo)準(zhǔn):STDSLE=0b11。

其中PCM標(biāo)準(zhǔn)又分為:1、PCM長幀同步:PCMFSSEL=1;2、PCM短幀同步:PCMFSSEL=0。下圖21在“16位數(shù)據(jù)-32位聲道格式”,I2S時(shí)鐘極性為低(I2SCLKPOL=0)條件下對(duì)比了幾種音頻標(biāo)準(zhǔn)一幀數(shù)據(jù)的通信時(shí)序。飛利浦模式下:WS為低電平表示正在傳輸?shù)穆暤罏樽舐暤?,WS為高電平表示正在傳輸?shù)穆暤罏橛衣暤?。?shù)據(jù)左對(duì)齊,即高位對(duì)齊,低位的16個(gè)bit被硬件填充為0。MSB標(biāo)準(zhǔn)下:WS為高電平表示正在傳輸?shù)穆暤罏樽舐暤?,WS為低電平表示正在傳輸?shù)穆暤罏橛衣暤?。?shù)據(jù)左對(duì)齊,即高位對(duì)齊,低位的16個(gè)bit被硬件填充為0。LSB標(biāo)準(zhǔn)下:WS為高電平表示正在傳輸?shù)穆暤罏樽舐暤?,WS為低電平表示正在傳輸?shù)穆暤罏橛衣暤馈?shù)據(jù)右對(duì)齊,即低位對(duì)齊,高位的16個(gè)bit被硬件填充為0。注:LSB標(biāo)準(zhǔn)下,數(shù)據(jù)發(fā)送順序還是高位在前。PCM標(biāo)準(zhǔn)長幀下:沒有左右聲道之分,WS的脈沖代表同步信號(hào)而不是左右聲道。WS脈沖長度為13個(gè)CK長度。PCM標(biāo)準(zhǔn)短幀下:沒有左右聲道之分,WS的脈沖代表同步信號(hào)而不是左右聲道。WS脈沖長度為1個(gè)CK長度。圖21 I2S各音頻標(biāo)準(zhǔn)時(shí)序?qū)Ρ?/span>0570ff3e-c33f-11ed-ad0d-dac502259ad0.png

I2S幀格式

AT32的I2S支持3種數(shù)據(jù)位個(gè)數(shù)選擇:

16位:I2SDBN=0b00

24位:I2SDBN=0b01

32位:I2SDBN=0b10

AT32的I2S支持2種聲道位個(gè)數(shù)選擇:

16位:I2SDBN=0

32位:I2SDBN=1

數(shù)據(jù)位個(gè)數(shù)和聲道位個(gè)數(shù)組合有以下4種幀格式:①16位數(shù)據(jù)-16位聲道格式:I2SDBN=0b00,I2SDBN=0;②16位數(shù)據(jù)-32位聲道格式:I2SDBN=0b00,I2SDBN=1;③24位數(shù)據(jù)-32位聲道格式:I2SDBN=0b01,I2SDBN=1;④32位數(shù)據(jù)-32位聲道格式:I2SDBN=0b10,I2SDBN=1;上述的第②、③幀格式中,由于聲道位個(gè)數(shù)>數(shù)據(jù)位個(gè)數(shù)。此時(shí)硬件會(huì)自動(dòng)將多余的聲道位填充為0。可參考上圖21中,“16位數(shù)據(jù)-32位聲道格式”的時(shí)序。上述的①、②幀格式,在接收/發(fā)送數(shù)據(jù)時(shí),僅需要讀取/寫入一次16bit的DT寄存器;而③、④幀格式,在接收/發(fā)送數(shù)據(jù)時(shí),需要讀取/寫入兩次16bit的DT寄存器。

I2S時(shí)鐘控制器

I2S采樣率(Fs)常見的音頻的采樣頻率有:192KHz、96kHz、48kHz、44.1kHz、32kHz、22.05kHz、16kHz、11.025kHz、8kHz等。而實(shí)際上AT32的I2S可以產(chǎn)生以上范圍內(nèi)的任何采樣率。例如采樣率為192K,則表示每秒可傳輸192K幀音頻數(shù)據(jù)。對(duì)于飛利浦/MSB/LSB標(biāo)準(zhǔn)而言,一幀音頻數(shù)據(jù)包含左、右通道兩筆16/32bit的數(shù)據(jù);對(duì)于PCM標(biāo)準(zhǔn)而言,一幀數(shù)據(jù)僅包含一筆16/32bit的數(shù)據(jù)。I2S時(shí)鐘(CK)和主時(shí)鐘(MCK)如下圖22,I2S的時(shí)鐘從系統(tǒng)時(shí)鐘SCLK分頻得來。不過使用I2S時(shí)仍然需要使能掛載在APB時(shí)鐘總線上的SPI接口時(shí)鐘(SPIxEN=1),以用于I2S邏輯控制器等。

當(dāng)需要輸出主時(shí)鐘(I2SMCLKOE=1),聲道位個(gè)數(shù)為16bit(I2SDBN=0)時(shí):

Fs=SCLK/[(16*2)*((2*I2SDIV)+I2SODD)*8];

當(dāng)需要輸出主時(shí)鐘(I2SMCLKOE=1),聲道位個(gè)數(shù)為32bit(I2SDBN=1)時(shí):

Fs=SCLK/[(32*2)*((2*I2SDIV)+I2SODD)*4];

當(dāng)不需要輸出主時(shí)鐘(I2SMCLKOE=0),聲道位個(gè)數(shù)為16bit(I2SDBN=0)時(shí):

Fs=SCLK/[(16*2)*((2*I2SDIV)+I2SODD)];

當(dāng)不需要輸出主時(shí)鐘(I2SMCLKOE=0),聲道位個(gè)數(shù)為32bit(I2SDBN=1)時(shí):

Fs=SCLK/[(32*2)*((2*I2SDIV)+I2SODD)];圖22 I2S時(shí)鐘059d2032-c33f-11ed-ad0d-dac502259ad0.png如下表3,示例了系統(tǒng)時(shí)鐘為240MHz時(shí),配置192K的采樣率推薦的I2S時(shí)鐘配置方案。表3 I2S時(shí)鐘配置方案示例05d1f1ae-c33f-11ed-ad0d-dac502259ad0.png

I2S全雙工

AT32F403A/F407/F435/F437/F425等型號(hào)支持I2S全雙工,AT32F403/F413/F415/F421等型號(hào)不支持I2S全雙工,具體請(qǐng)參考對(duì)應(yīng)型號(hào)RM文檔。不同型號(hào)MCU的I2S全雙工實(shí)現(xiàn)方式也有所區(qū)別,本文會(huì)分別介紹AT32F403A/F407/F435/F437和AT32F425的I2S全雙工功能。AT32F403A/F407/F435/F437的I2S全雙工AT32F403A/F407/F435/F437為了支持I2S全雙工模式,額外例化了兩個(gè)I2S模塊(I2S2EXT,I2S3EXT)。I2S2可與I2S2EXT組合在一起支持全雙工模式,I2S3可與I2S3EXT組合在一起支持全雙工模式。代碼可參考“案例3—AT32F403A/F407/F435/F437I2S全雙工DMA方式通信”。在I2Sx可與I2SxEXT組成全雙工模塊時(shí),I2Sx可配置為主或從模式,I2SxEXT只能配置為從模式。I2SxEXT共享I2Sx的CK和WS,對(duì)應(yīng)的有以下幾種配置方式:

I2Sx主發(fā)(OPERSEL=0b10);I2SxEXT從收(OPERSEL=0b01);

I2Sx主收(OPERSEL=0b11);I2SxEXT從發(fā)(OPERSEL=0b00)。

I2Sx從發(fā)(OPERSEL=0b00);I2SxEXT從收(OPERSEL=0b01);

I2Sx從收(OPERSEL=0b01);I2SxEXT從發(fā)(OPERSEL=0b00)。

注:I2S2EXT和I2S3EXT只用于I2S全雙工模式,而不能單獨(dú)使用。圖23 I2S全雙工結(jié)構(gòu)圖05f8dce2-c33f-11ed-ad0d-dac502259ad0.pngAT32F425的I2S全雙工AT32F425的I2S全雙工實(shí)現(xiàn)方式和AT32F403A/F407/F435/F437不同。AT32F425可以通過設(shè)置SCFG_CFG2寄存器中的I2S_FD將兩個(gè)SPI組合在一起實(shí)現(xiàn)I2S全雙工。代碼可參考“案例4—AT32F425I2S全雙工DMA方式通信”。CK和WS由I2S主導(dǎo)方提供,附屬方的CK和WS對(duì)應(yīng)引腳可以釋放給其他功能使用。根據(jù)I2S_FD配置,有以下幾種組合方式:

I2S_FD=0b00:I2S1~3各自獨(dú)立半雙工工作;

I2S_FD=0b01:I2S1和I2S3組成全雙工模式,其中I2S1為主導(dǎo)方,I2S3為附屬方。

I2S_FD=0b10:I2S2和I2S3組成全雙工模式,其中I2S2為主導(dǎo)方,I2S3為附屬方。

I2S_FD=0b11:I2S1和I2S2組成全雙工模式,其中I2S1為主導(dǎo)方,I2S2為附屬方。

圖24 I2S全雙工結(jié)構(gòu)圖061d3010-c33f-11ed-ad0d-dac502259ad0.png

I2S錯(cuò)誤

ROERR--接收器溢出錯(cuò)誤標(biāo)志此錯(cuò)誤標(biāo)志和SPI一樣,請(qǐng)參考前文“2.9.2 ROERR--接收器溢出錯(cuò)誤標(biāo)志”。TUERR--發(fā)送器欠載錯(cuò)誤標(biāo)志位在I2S從發(fā)模式下,如果在CK上檢測到了數(shù)據(jù)驅(qū)動(dòng)沿,但新的發(fā)送數(shù)據(jù)并沒有被寫入數(shù)據(jù)寄存器,則會(huì)產(chǎn)生發(fā)送器欠載錯(cuò)誤,此時(shí)硬件會(huì)將TUERR位置1。軟件讀SPI_STS寄存器可清除該標(biāo)志位。此錯(cuò)誤標(biāo)志僅使用I2S時(shí)有效。

I2S中斷

I2S和SPI共用一個(gè)全局中斷向量,即下圖25的“I2S中斷”和上圖18中的“SPI中斷”共用同一個(gè)中斷向量。I2S中斷有三個(gè)中斷源:接收緩沖器滿、發(fā)送緩沖器空、通信錯(cuò)誤(詳見上一節(jié)“I2S錯(cuò)誤”)。這三個(gè)中斷源分別有對(duì)應(yīng)的使能位。下圖中,3個(gè)中斷使能位定義如下:

RDBFIE:接收數(shù)據(jù)緩沖器滿中斷使能(和SPI一樣)

TDBEIE:發(fā)送數(shù)據(jù)緩沖器空中斷使能(和SPI一樣)

ERRIE: 錯(cuò)誤中斷使能(和SPI一樣)

下圖中,4個(gè)標(biāo)志位定義如下:

ROERR:接收器溢出錯(cuò)誤(和SPI一樣)

TUERR:發(fā)送器欠載錯(cuò)誤(僅I2S有這個(gè)錯(cuò)誤標(biāo)志)

RDBF:接收數(shù)據(jù)緩沖器滿(和SPI一樣)

TDBE:發(fā)送數(shù)據(jù)緩沖器空(和SPI一樣)

圖25 I2S中斷示意0643f286-c33f-11ed-ad0d-dac502259ad0.png

SPI案例

注:所有project都是基于keil5而建立,若用戶需要在其他編譯環(huán)境上使用,請(qǐng)參考AT32xxx_Firmware_Library_V2.x.x\project\at_start_xxx\templates中各種編譯環(huán)境(例如IAR6/7,keil4/5)進(jìn)行簡單修改即可。

案例1-SPI全雙工輪詢方式通信

功能簡介實(shí)現(xiàn)SPI2和SPI3之間的全雙工輪詢通信。接線如下:spi2 spi3pd1(sck)<--->pc10(sck)pc2(miso)<--->pc11(miso)pd4(mosi)<--->pc12(mosi)資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_f437\examples\spi\fullduplex_polling軟件設(shè)計(jì)1)配置流程

配置SPI2和SPI3對(duì)應(yīng)的GPIO;

配置SPI2和SPI3通信配置;

開始輪詢通信。

2)代碼介紹

main函數(shù)代碼描述

0664fed6-c33f-11ed-ad0d-dac502259ad0.png

  • SPI通信配置函數(shù)代碼描述

06ac34a4-c33f-11ed-ad0d-dac502259ad0.png

  • SPI GPIO配置函數(shù)代碼描述

0741c99c-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明SPI2和SPI3通信正常。

案例2-SPI全雙工DMA方式通信

功能簡介實(shí)現(xiàn)SPI2和SPI3之間的全雙工DMA通信。接線如下:spi2 spi3pd1(sck)<--->pc10(sck)pc2(miso)<--->pc11(miso)pd4(mosi)<--->pc12(mosi)資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_f437\examples\spi\motorola_fullduplex_dma軟件設(shè)計(jì)1)配置流程

  • 配置SPI2和SPI3對(duì)應(yīng)的GPIO;
  • 配置SPI2和SPI3的通信配置和DMA配置;
  • 開始DMA通信。

2)代碼介紹

  • main函數(shù)代碼描述

083b2d98-c33f-11ed-ad0d-dac502259ad0.png

  • SPI通信配置及DMA配置函數(shù)代碼描述

08ab795e-c33f-11ed-ad0d-dac502259ad0.png

  • SPI GPIO配置函數(shù)代碼描述

09140712-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明SPI2和SPI3通信正常。

案例3-SPI只收通信

功能簡介實(shí)現(xiàn)SPI2和SPI3之間的單向只收通信。接線如下:spi2 spi3pd1(sck)<--->pc10(sck)pd4(mosi)<--->pc12(mosi)資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_f437\examples\spi\only_receive_mode_polling軟件設(shè)計(jì)1)配置流程

  • 配置SPI2和SPI3對(duì)應(yīng)的GPIO;
  • 配置SPI2和SPI3的通信配置;
  • 開始輪詢通信。

2)代碼介紹

  • main函數(shù)代碼描述

09af1234-c33f-11ed-ad0d-dac502259ad0.png

  • SPI通信配置代碼描述

0a3eee5e-c33f-11ed-ad0d-dac502259ad0.png

  • SPI GPIO配置函數(shù)代碼描述

0aa96ce8-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明SPI2和SPI3通信正常。

案例4-SPI半雙工中斷方式通信

功能簡介
實(shí)現(xiàn)SPI2和SPI3之間的半雙工通信。接線如下:spi2 spi3pd1(sck)<--->pc10(sck)pc2(miso)<--->pc12(mosi)資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_xxxx\examples\spi\halfduplex_interrupt軟件設(shè)計(jì)1)配置流程

  • 配置SPI2和SPI3對(duì)應(yīng)的GPIO;
  • 設(shè)置SPI2和SPI3的中斷處理函數(shù);
  • 配置SPI2和SPI3的通信配置;
  • 開始中斷通信。

2)代碼介紹

  • main函數(shù)代碼描述

0ad980cc-c33f-11ed-ad0d-dac502259ad0.png

  • 中斷處理函數(shù)代碼描述

0ce4d970-c33f-11ed-ad0d-dac502259ad0.png

  • SPI通信配置函數(shù)代碼描述

0d4511dc-c33f-11ed-ad0d-dac502259ad0.png

  • SPI GPIO配置函數(shù)代碼描述

0d9b0af6-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明SPI2和SPI3通信正常。

案例5-SPI半雙工中斷方式通信-加收發(fā)切換

功能簡介實(shí)現(xiàn)SPI2和SPI3之間的半雙工收發(fā)切換通信。接線如下:spi2spi3pd1(sck)<--->pc10(sck)pc2(miso)<--->pc12(mosi)資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_f437\examples\spi\halfduplex_transceiver_switch軟件設(shè)計(jì)

1)配置流程

  • 配置SPI2和SPI3對(duì)應(yīng)的GPIO;
  • 設(shè)置SPI2和SPI3的中斷處理函數(shù);
  • 配置SPI2和SPI3的通信配置;
  • 開始中斷通信。

2)代碼介紹

  • main函數(shù)代碼描述

0dd40572-c33f-11ed-ad0d-dac502259ad0.png

  • 中斷處理函數(shù)代碼描述

0e72e4e4-c33f-11ed-ad0d-dac502259ad0.png

  • SPI通信配置函數(shù)代碼描述

0f6f9022-c33f-11ed-ad0d-dac502259ad0.png

  • SPI GPIO配置函數(shù)代碼描述

10334bde-c33f-11ed-ad0d-dac502259ad0.png

實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明SPI2和SPI3通信正常。

案例6-SPI CRC功能使用

功能簡介實(shí)現(xiàn)SPI2和SPI3之間的全雙工通信和CRC校驗(yàn)。接線如下:spi2 spi3pd1(sck)<--->pc10(sck)pc2(miso)<--->pc11(miso)pd4(mosi)<--->pc12(mosi)資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_f437\examples\spi\crc_transfer_polling軟件設(shè)計(jì)1)配置流程

  • 配置SPI2和SPI3對(duì)應(yīng)的GPIO;
  • 配置SPI2和SPI3通信配置;
  • 開始輪詢通信和CRC校驗(yàn)。

2)代碼介紹

  • main函數(shù)代碼描述

1072438e-c33f-11ed-ad0d-dac502259ad0.png

  • SPI通信配置函數(shù)代碼描述

11939fb0-c33f-11ed-ad0d-dac502259ad0.png

  • SPI GPIO配置函數(shù)代碼描述

11fd2c5a-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明SPI2和SPI3通信正常。

案例7-SPI TI模式使用(TI SSP協(xié)議)

功能簡介實(shí)現(xiàn)SPI2和SPI3之間的TI模式DMA通信。接線如下:spi2 spi3pd0(cs)<--->pa4(cs)pd1(sck)<--->pc10(sck)pc2(miso)<--->pc11(miso)pd4(mosi)<--->pc12(mosi)資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_f437\examples\spi\ti_fullduplex_dma軟件設(shè)計(jì)1)配置流程

  • 配置SPI2和SPI3對(duì)應(yīng)的GPIO;
  • 配置SPI2和SPI3的通信配置和DMA配置;
  • 開始DMA通信。

2)代碼介紹

  • main函數(shù)代碼描述

12add06e-c33f-11ed-ad0d-dac502259ad0.png

  • SPI通信配置及DMA配置函數(shù)代碼描述

12d30e4c-c33f-11ed-ad0d-dac502259ad0.png

  • SPI GPIO配置函數(shù)代碼描述

148e622c-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明SPI2和SPI3通信正常。

案例8-SPI讀寫FLASH(W25Q128)

功能簡介實(shí)現(xiàn)SPI2讀/寫flash(w25q128)。接線如下:spi2 w25q128pd0(cs)<--->cspinpd1(sck)<--->clk pinpc2(miso)<--->di pinpd4(mosi)<--->do pin資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD和w25q128電路板w25q128建議電路如下圖26:圖26 w25q128建議電路156f86da-c33f-11ed-ad0d-dac502259ad0.png2)軟件環(huán)境:project\at_start_f437\examples\spi\w25q_flash軟件設(shè)計(jì)1)配置流程

  • 配置SPI2和對(duì)應(yīng)GPIO;
  • 讀取flash ID;
  • 擦除flash扇區(qū);
  • 向flash寫入數(shù)據(jù);
  • 讀取上一步flash寫入數(shù)據(jù)的區(qū)域。

2)代碼介紹

  • main函數(shù)代碼描述

1593086c-c33f-11ed-ad0d-dac502259ad0.png

  • spi接口配置函數(shù)和gpio配置函數(shù)代碼描述

15ca5272-c33f-11ed-ad0d-dac502259ad0.png

  • flash擦除函數(shù)代碼描述

16587cf0-c33f-11ed-ad0d-dac502259ad0.png

  • flash讀數(shù)據(jù)函數(shù)代碼描述

16a1f9de-c33f-11ed-ad0d-dac502259ad0.png

  • flash讀ID函數(shù)代碼描述

16ee6328-c33f-11ed-ad0d-dac502259ad0.png

  • flash寫函數(shù)代碼描述

17217768-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明SPI2和FLASH通信正常。

案例9-SPI使用jtag引腳的配置

功能簡介實(shí)現(xiàn)SPI2和SPI3之間,使用特殊的jtag引腳的全雙工輪詢通信。接線如下:spi2 spi3pd0(cs)<--->pa15(cs)pd1(sck)<--->pb3(sck)pc2(miso)<--->pa13(miso)pd4(mosi)<--->pa14(mosi)資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_f437\examples\use_jtagpin_hardwarecs_dma軟件設(shè)計(jì)注意:本文僅介紹了AT32F435/F437的SPI使用jtag引腳的配置,其他型號(hào)的使用配置稍有不同,請(qǐng)參照對(duì)應(yīng)型號(hào)的BSP使用。1)配置流程

  • 配置SPI2和SPI3對(duì)應(yīng)的GPIO;
  • 配置SPI2和SPI3通信配置;
  • 開始輪詢通信。

2)代碼介紹

  • main函數(shù)代碼描述

18347eca-c33f-11ed-ad0d-dac502259ad0.png

  • SPI通信配置函數(shù)代碼描述

18a149c4-c33f-11ed-ad0d-dac502259ad0.png

  • SPI GPIO配置函數(shù)代碼描述

1a56f368-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明SPI2和SPI3通信正常。

I2S案例

案例1-I2S半雙工DMA方式通信

功能簡介實(shí)現(xiàn)I2S2和I2S3之間的半雙工DMA通信。接線如下:I2S2 I2S3pd0(ws)<--->pa4(ws)pd1(ck)<--->pc10(ck)pd4(sd)<--->pc12(sd)資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_f437\examples\i2s\halfduplex_dma軟件設(shè)計(jì)1)配置流程

  • 配置I2S2和I2S3對(duì)應(yīng)的GPIO;
  • 配置I2S2和I2S3的通信配置和DMA配置;
  • 開始DMA通信。

2)代碼介紹

  • main函數(shù)代碼描述

1eab3cda-c33f-11ed-ad0d-dac502259ad0.png

  • I2S配置及DMA配置函數(shù)代碼描述

1efabbe8-c33f-11ed-ad0d-dac502259ad0.png

  • GPIO配置函數(shù)代碼描述

203f2fb6-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明I2S2和I2S3通信正常。

案例2-I2S半雙工中斷方式通信

功能簡介實(shí)現(xiàn)I2S2和I2S3之間的半雙工中斷方式通信。接線如下:I2S2 I2S3pd0(ws)<--->pa4(ws)pd1(ck)<--->pc10(ck)pd4(sd)<--->pc12(sd)資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_f437\examples\i2s\halfduplex_interrupt軟件設(shè)計(jì)1)配置流程

  • 配置I2S2和I2S3對(duì)應(yīng)的GPIO;
  • 配置I2S2和I2S3的通信配置;
  • 配置中斷函數(shù);
  • 開始中斷通信。

2)代碼介紹

  • main函數(shù)代碼描述

213dbda6-c33f-11ed-ad0d-dac502259ad0.png

  • I2S配置函數(shù)代碼描述

219e4842-c33f-11ed-ad0d-dac502259ad0.png

  • I2S中斷配置函數(shù)代碼描述

2234243e-c33f-11ed-ad0d-dac502259ad0.png

  • GPIO配置函數(shù)代碼描述

22615652-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明I2S2和I2S3通信正常。

案例3-AT32F403A/F407/F435/F437 I2S全雙工DMA方式通信

功能簡介實(shí)現(xiàn)I2S2和I2S3之間的全雙工DMA通信。接線如下:I2S2 I2S3pd0(ws)<--->pa4(ws)pd1(sck)<--->pc10(sck)pc2(ext_sd)rx<--->pc11(ext_sd)txpd4(sd)tx<--->pc12(sd)rx資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_xxxx\examples\i2s\fullduplex_dma軟件設(shè)計(jì)1)配置流程

  • 配置I2S2和I2S3對(duì)應(yīng)的GPIO;
  • 配置I2S2和I2S3的通信配置和DMA配置;
  • 開始DMA通信。

2)代碼介紹

  • main函數(shù)代碼描述

22d0acb4-c33f-11ed-ad0d-dac502259ad0.png

  • I2S配置及DMA配置函數(shù)代碼描述

22fa1248-c33f-11ed-ad0d-dac502259ad0.png

  • GPIO配置函數(shù)代碼描述

24d4c5ea-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-STARTBOARD的LED2亮起,說明I2S2和I2S3全雙工通信正常。

案例4-AT32F425 I2S全雙工DMA方式通信

功能簡介實(shí)現(xiàn)I2S1和I2S2組成一個(gè)全雙工I2S,組成的全雙工I2S接口定義如下:pa4(ws)pa5(ck)pa6(mck)pa7(sd tx)pb14(ext_sd rx)由于AT32F425只有3個(gè)spi(I2S),只能組成一個(gè)全雙工I2S,所以不能在同一塊AT-START上用兩個(gè)全雙工I2S進(jìn)行通信。所以本案例使用一個(gè)全雙工I2S進(jìn)行自收自發(fā)通信,接線如下:pa4(ws)<--->NCpa5(ck)<--->NCpa6(mck)<--->NCpa7(sd)<--->pb14(ext_sd)用戶也可以準(zhǔn)備兩塊AT-START板子對(duì)測。使用兩塊板子時(shí),需要注意一塊AT-START配置為主機(jī),一塊AT-START配置為從機(jī)。本案例中的代碼僅展示配置為主機(jī),在一塊AT-START上進(jìn)行自發(fā)自收的配置。資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F425的AT-START BOARD2)軟件環(huán)境:project\at_start_f425\examples\i2s\fullduplex_dma軟件設(shè)計(jì)1)配置流程

  • 配置I2S1和I2S2對(duì)應(yīng)的GPIO;
  • 配置I2S1和I2S2的通信配置和DMA配置;
  • 開始DMA通信。

2)代碼介紹

  • main函數(shù)代碼描述

25742554-c33f-11ed-ad0d-dac502259ad0.png

  • I2S配置及DMA配置函數(shù)代碼描述

25b7c91c-c33f-11ed-ad0d-dac502259ad0.png

  • GPIO配置函數(shù)代碼描述

26021526-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明I2S全雙工通信正常。

案例5-I2S和SPI功能切換通信

功能簡介實(shí)現(xiàn)SPI2和SPI3之間通信切換到I2S2和I2S3之間通信。接線如下:spi2/i2s2 spi3/i2s3pd0(cs/ws)<--->pa15(cs/ws)pd1(sck/ck)<--->pb3(sck/ck)pd4(mosi/sd)<--->pb5(mosi/sd)資源準(zhǔn)備1)硬件環(huán)境:一塊AT32F437的AT-START BOARD2)軟件環(huán)境:project\at_start_f437\examples\i2s\spii2s_switch_halfduplex_polling軟件設(shè)計(jì)1)配置流程

  • 配置SPI2/I2S2和SPI3/I2S3對(duì)應(yīng)的GPIO;
  • 配置I2S2和I2S3的通信配置(主發(fā)從收);
  • 開始I2S2和I2S3的輪詢通信,并核對(duì)數(shù)據(jù);
  • 配置SPI2和SPI3的通信配置(SPI3為主機(jī)半雙工只發(fā);SPI2為從機(jī)單向只收);
  • 開始SPI2和SPI3的輪詢通信,并核對(duì)數(shù)據(jù);
  • 配置I2S2和I2S3的通信配置(主收從發(fā));
  • 開始I2S2和I2S3的輪詢通信,并核對(duì)數(shù)據(jù)。

2)代碼介紹

  • main函數(shù)代碼描述

267097bc-c33f-11ed-ad0d-dac502259ad0.png

  • I2S配置函數(shù)代碼描述

27237490-c33f-11ed-ad0d-dac502259ad0.png

  • SPI配置函數(shù)代碼描述

27e29906-c33f-11ed-ad0d-dac502259ad0.png

  • GPIO配置函數(shù)代碼描述

281741f6-c33f-11ed-ad0d-dac502259ad0.png實(shí)驗(yàn)效果AT-START BOARD的LED2亮起,說明I2S2和I2S3通信正常,SPI2和SPI3也通信正常。關(guān)于雅特力雅特力科技于2016年成立,是一家致力于推動(dòng)全球市場32位微控制器(MCU)創(chuàng)新趨勢的芯片設(shè)計(jì)公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進(jìn)工藝及ARM Cortex-M4高效能或M0+低功耗內(nèi)核,締造M4業(yè)界最高主頻288MHz運(yùn)算效能,并支持工業(yè)級(jí)別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當(dāng)多元的終端產(chǎn)品成功案例:如微型打印機(jī)、掃地機(jī)、光流無人機(jī)、熱成像儀、激光雷達(dá)、工業(yè)縫紉機(jī)、伺服驅(qū)控、電競周邊市場、斷路器、ADAS、T-BOX、數(shù)字電源、電動(dòng)工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G、物聯(lián)網(wǎng)、消費(fèi)、商務(wù)及工控等領(lǐng)域。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16885

    瀏覽量

    349914
  • 雅特力
    +關(guān)注

    關(guān)注

    0

    文章

    153

    瀏覽量

    7959
  • AT32
    +關(guān)注

    關(guān)注

    1

    文章

    110

    瀏覽量

    2058
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AT32講堂088 | AT32F402/F405時(shí)鐘配置

    介紹如何結(jié)合提供的V2.x.x的板級(jí)支持包(BSP)來配置時(shí)鐘。以下介紹時(shí)鐘配置的方法主要分兩種:1、以手動(dòng)編寫代碼調(diào)用BSP中提供的驅(qū)動(dòng)函數(shù)接口來進(jìn)行時(shí)鐘配
    的頭像 發(fā)表于 09-15 08:08 ?341次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>088 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F402/F405時(shí)鐘配置

    AT32講堂087 | AT32 IDE快速入門指南

    新建項(xiàng)目新項(xiàng)目向?qū)T32ID提供支持MCU的C語言項(xiàng)目模板,方便用戶快速創(chuàng)建項(xiàng)目。菜單欄【File】>【New】>【CProject】。新建項(xiàng)目向?qū)У膶?duì)話框?qū)⒊霈F(xiàn)。在對(duì)
    的頭像 發(fā)表于 09-15 08:08 ?319次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>087 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> IDE快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    AT32 MCU的隨機(jī)數(shù)生成

    概述產(chǎn)品和生態(tài)系統(tǒng)安全性的需求比以往任何時(shí)候都更加重要。真隨機(jī)數(shù)是所有安全系統(tǒng)的核心,其質(zhì)量會(huì)影響設(shè)計(jì)的安全性。因此在沒有內(nèi)置硬件TRNG的AT32的微控制器系列中,如何提高隨機(jī)數(shù)的有效,來符合
    的頭像 發(fā)表于 08-30 12:26 ?407次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的隨機(jī)數(shù)生成

    AT32講堂085 | AT32 MCU HICK時(shí)鐘校準(zhǔn)

    簡介AT32系列MCU內(nèi)部都有提供適合運(yùn)行的內(nèi)部高速時(shí)鐘(HICK),其本質(zhì)就是內(nèi)置于芯片的RC振蕩器。在25℃下,其典型值頻率8MHz的精度由工廠校準(zhǔn)到±1%,在-40到105℃,該內(nèi)部高速時(shí)鐘
    的頭像 發(fā)表于 08-30 12:26 ?471次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK時(shí)鐘校準(zhǔn)

    電機(jī)應(yīng)用快速入門指南

    AT32電機(jī)控制算法庫目標(biāo)電機(jī):三相永磁同步電機(jī)(直流無刷電機(jī))控制模式:可執(zhí)行有位置感測器/無位置感測器FOC弦波矢量控制可執(zhí)行有位置感測器/無位置感測器120°方波BLDC電機(jī)控制三相PWM調(diào)制
    的頭像 發(fā)表于 08-30 12:26 ?335次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>電機(jī)應(yīng)用快速<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    攜多款AT32 MCU新品與應(yīng)用方案亮相2024慕尼黑上海電子展

    7月8日,2024慕尼黑上海電子展electronicaChina在上海新國際博覽中心拉開序幕,作為全球電子行業(yè)的盛會(huì),匯聚了國內(nèi)外眾多優(yōu)質(zhì)電子企業(yè),為業(yè)界呈現(xiàn)一場前所未有的科技盛宴。攜高性能
    的頭像 發(fā)表于 07-09 08:15 ?595次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>攜多款<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>新品與應(yīng)用方案亮相2024慕尼黑上海電子展

    AT32 MCU通過IEC 60730功能安全認(rèn)證,為家電產(chǎn)品提供安全保障

    ??近日,AT32MCU安全庫順利通過IEC60730功能安全認(rèn)證,為家電產(chǎn)品提供安全質(zhì)量保證。國際公認(rèn)的測試、檢驗(yàn)和認(rèn)證機(jī)構(gòu)SGS為
    的頭像 發(fā)表于 05-20 08:15 ?491次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>通過IEC 60730功能安全認(rèn)證,為家電產(chǎn)品提供安全保障

    AT32F423入門使用指南

    初步環(huán)境準(zhǔn)備開發(fā)環(huán)境下載地址:
    的頭像 發(fā)表于 05-14 08:15 ?1248次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F423<b class='flag-5'>入門</b>使用<b class='flag-5'>指南</b>

    AT32 MCU與SEGGER攜手合作,開發(fā)量產(chǎn)事半功倍

    近日,與SEGGER共同宣布J-Link仿真調(diào)試器與Flasher在線燒錄器全面支持AT32 MCU產(chǎn)品,SEGGER工具鏈的加持使
    的頭像 發(fā)表于 02-23 10:27 ?340次閱讀

    AT32 MCU與SEGGER攜手合作,開發(fā)量產(chǎn)事半功倍

    近日,與SEGGER共同宣布J-Link仿真調(diào)試器與Flasher在線燒錄器全面支持AT32MCU產(chǎn)品,SEGGER工具鏈的加持使AT32MC
    的頭像 發(fā)表于 02-22 08:13 ?437次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>與SEGGER攜手合作,開發(fā)量產(chǎn)事半功倍

    AT32F423時(shí)鐘配置

    介紹如何結(jié)合提供的V2.x.x的板級(jí)支持包(BSP)來配置時(shí)鐘。以下介紹時(shí)鐘配置的方法主要分兩種:1、以手動(dòng)編寫代碼調(diào)用BSP中提供的驅(qū)動(dòng)函數(shù)接口來進(jìn)行時(shí)鐘配
    的頭像 發(fā)表于 02-19 13:26 ?539次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F423時(shí)鐘配置

    AT32F423時(shí)鐘配置入門指南

    電子發(fā)燒友網(wǎng)站提供《AT32F423時(shí)鐘配置入門指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-31 09:37 ?0次下載
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F423時(shí)鐘配置<b class='flag-5'>入門</b><b class='flag-5'>指南</b>

    AT32 MCU HOGP開發(fā)指南

    HOGP概述HOGP(HIDoverGATT)是由BluetoothSIG維護(hù)的藍(lán)牙配置文件規(guī)范,通過低功耗藍(lán)牙實(shí)現(xiàn)HID的配置文件并作為與計(jì)算器之間的接口,消除HID中對(duì)電線或物理連接的需求。HID角色在HID中,以及在HOGP的延伸中,定義了兩個(gè)角色,這些角色是HID主機(jī)和HID設(shè)備。HID設(shè)備一次只能主動(dòng)連接到單個(gè)HID主機(jī);然而一個(gè)HID主機(jī)可以連接
    的頭像 發(fā)表于 12-30 08:14 ?596次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HOGP開發(fā)<b class='flag-5'>指南</b>

    AT32WB415時(shí)鐘配置

    介紹如何結(jié)合提供的V2.x.x的板級(jí)支持包(BSP)來配置時(shí)鐘。以下介紹時(shí)鐘配置的方法主要分兩種:1、以手動(dòng)編寫代碼調(diào)用BSP中提供的驅(qū)動(dòng)函數(shù)接口來進(jìn)行時(shí)鐘配
    的頭像 發(fā)表于 12-20 08:14 ?436次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32WB415時(shí)鐘配置

    AT32 MCU實(shí)現(xiàn)高效電機(jī)驅(qū)動(dòng)控制與應(yīng)用

    發(fā)展。受邀出席此次會(huì)議,產(chǎn)品市場總監(jiān)林金海發(fā)表了題為“AT32
    的頭像 發(fā)表于 11-17 08:15 ?780次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>實(shí)現(xiàn)高效電機(jī)驅(qū)動(dòng)控制與應(yīng)用