單片機技術(shù)交流群文件stm32參考手冊中文_第1頁
單片機技術(shù)交流群文件stm32參考手冊中文_第2頁
單片機技術(shù)交流群文件stm32參考手冊中文_第3頁
單片機技術(shù)交流群文件stm32參考手冊中文_第4頁
單片機技術(shù)交流群文件stm32參考手冊中文_第5頁
已閱讀5頁,還剩560頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

參考手冊小,中和大容量的STM32F101xx,STM32F102xx和ARM內(nèi)核32位高性能微控制器導(dǎo)本參考手冊針對應(yīng)用開發(fā),提供關(guān)于如何使用小容量、中容量和大容量的STM32F101xx、STM32F102xx或者STM32F103xx微控制器的器和外設(shè)的詳細(xì)信息。在本參考手冊中關(guān)于ARMCortex?-M3內(nèi)核的具體信息,請參考Cortex?-M3技術(shù)參考手冊。相關(guān)文檔 .arm.doc.ddi0337e/DDI0337Ecortexm3r1p1 *感謝萬利提供原始翻譯文文中的縮 術(shù)語 可用的外 器和總線構(gòu) 系統(tǒng)構(gòu) 器組 器映 嵌入式 位 嵌入式閃 啟動配 CRC計算單元 電源控制 電源管理 低功耗模 睡眠模 停止模 待機模 備份寄存器 侵入檢 備份數(shù)據(jù)寄存器x(BKP_DRx)(x=1… 復(fù)位和時鐘控制 7 通用復(fù)用功能 I2C1復(fù)用功能重映 SPI1復(fù)用功能重映 中斷和 89 主要特 框 喚醒管 功能說 EXTI寄存器描 軟件中斷寄存器 DMA控制器 功能描 仲裁 DMA通 錯誤管 中 DTRx)(x= 模擬/數(shù)字轉(zhuǎn)換 通道選 時序 模擬看門 掃描模 間斷模 校 數(shù)據(jù)對 獨立模 溫度傳感 ( 10.12.10ADC規(guī)則序列寄存器10.12.11ADC規(guī)則序列寄存器10.12.12ADC注入序列寄存器10.12.13ADC注入數(shù)據(jù)寄存器xADC_JDRxx10.12.14ADC規(guī)則數(shù)據(jù)寄存器10.12.15ADC數(shù)字/模擬轉(zhuǎn)換 時基單 計數(shù)器模 重復(fù)計數(shù) 時鐘選 產(chǎn)生六 單脈沖模 編接口模 定時器同 調(diào)試模 通用定時器 編接口模 時 實時時鐘 TH 獨立看門狗 寄存器保 窗口看門狗 靈活的靜態(tài)器控制器 支持的器和操 外部器接口信 外部器接口信 SDI/O模 中止 USB全速設(shè)備接口 控制器局域網(wǎng) 串行外設(shè)接口 SPI和I2S主要特 I2S功 關(guān)閉 I2S功能描I2S功能描I2SI2SI2S中 SPI和I2S SPI控制寄存器1(SPI_CR1)(I2S模式下不使用 SPI狀態(tài)寄存器 SPI數(shù)據(jù)寄存器 SPIRxCRC寄存器 SPITxCRC寄存器 SPI_I2S配置寄存器 I2C I2C簡 I2C I2C I2C從模 I2C主模 I2C I2C I2C 狀態(tài)寄存器2 I2C通用同步異步收發(fā)器 發(fā)送 477 校驗控 智能 IrDASIRENDEC功能 硬件流控 器件電子簽 調(diào)試支持 概 SWJ調(diào)試端口(serialwireand ID代碼和鎖定機 邊界掃描 SW-DP狀態(tài)機(Resetidlestates,ID (端口26.1026.1126.12FPB(Flashpatch26.13DWT(datawatchpoint26.14ITM(instrumentationtrace 26.15MCU調(diào)試模塊 支持定時器、看門狗、bxCAN和I2C的調(diào) 26.16TPIU(traceportinterface 26.16.1026.17DBG寄存器描述表中使用的縮寫列表read/writeRead-onlyread/clearread/cleartoggle術(shù)語表量或者大容量STM32F101xx和STM32F103xx以及小容量和中容量STM32F102xx的。 器和總線構(gòu)AHBAPB的橋(AHB2APBx)APB設(shè)備圖 系統(tǒng)結(jié)ICode總線DCode總線該總線將orex-3內(nèi)核的Doe總線與閃存器的數(shù)據(jù)接口相連接(常量加載和調(diào)試訪。系統(tǒng)總線的的。DMA總線此總線將DMA的AHB主控接口與總線矩陣相聯(lián),總線矩陣協(xié)調(diào)著CPU的DCode和DMA到總線矩陣此總線矩陣協(xié)調(diào)內(nèi)核系統(tǒng)總線和DMA主控總線之間的仲裁。此仲裁利用輪換算法。此總線矩陣由四個驅(qū)動部件(CUDe、系統(tǒng)總線、D1總線和DM2總線)四個件(閃存(LT)、RM、FM和H2構(gòu)成。AHB/APB橋有關(guān)連接到每個橋的不同外設(shè)的地址映射請參考表1。在每一次復(fù)位以后,所有除SRAM和注意:當(dāng)對APB寄存器進行8位或者16位時,該會被自動轉(zhuǎn)換成32位的:橋會自動將8位或 器組數(shù)據(jù)字節(jié)以小端格式存放在器中。一個字里的最低地址字節(jié)被認(rèn)為是該字的最低有效字節(jié),而最高地址字節(jié)是最高有效字節(jié)。其他所有沒有分配給片上器和外設(shè)的器空間都是保留的地址空間,請參考相應(yīng)器件的中的器映像圖。 器映請參考相應(yīng)器件的中的器映像圖。表1列出了所用STM32F10xxx中內(nèi)置外設(shè)的起表 外總0x40023400-0x40020x40023000-0x40020x40022000-0x4002閃存器接0x40021400-0x40020x40021000-0x40020x40020800-0x40020x40020400-0x40020x40020000-0x40020x40018400-0x40010x40018000-0x40010x40014000-0x40010x40013C00-0x40010x40013800-0x40010x40013400-0x40010x40013000-0x40010x40012C00-0x40010x40012800-0x40010x40012400-0x40010x40012000-0x40010x40012000-0x4001GPIO端口0x40011800-0x4001GPIO端口0x40011400-0x4001GPIO端口0x40011000-0x4001GPIO端口0X40010C00-0x4001GPIO端口0x40010800-0x4001GPIO端口0x40010400-0x40010x40010000-0x40010x40007800-0x40007400-0x40000x40007000-0x40000x40006C00-0x40000x40006800-0x40000x40006400-0x40000x40006000-0x40000x40005C00-0x40000x40005800-0x40000x40005400-0x40000x40005000-0x40000x40004C00-0x40000x40004800-0x40000x40004400-0x40000x40004000-0x40000x40003C00-0x40000x40003800-0x40000x40003400-0x40000x40003000-0x40000x40002C00-0x40000x40002800-0x40000x40001800-0x40000x40001400-0x40000x40001000-0x40000x40000C00-0x40000x40000800-0x40000x40000400-0x40000x40000000-0x4000嵌入式STM32F10xxx內(nèi)置64K字節(jié)的靜態(tài)SRAM。它可以以字節(jié)、半字(16位)或全字(32位)位Cortex?-M3器映像包括兩個位段(bit-band)區(qū)。這兩個位段區(qū)將別名器區(qū)中的每個字映射到位段器區(qū)的一個位,在別名區(qū)寫入一個字具有對位段區(qū)的目標(biāo)位執(zhí)行讀-改-寫操bit_word_addr=bit_band_base+(byte_offsetx32)+(bit_number×例子 的字節(jié)中的位 = +(0x300*32)+ 字節(jié)的位執(zhí)行讀-改-寫操作有著相 字節(jié)的位的值(0x01或0x00)。嵌入式閃存 塊為4Kbx64位,每個主 塊劃分為32個1K字節(jié)的頁。 塊為16Kbx64位,每個主 塊劃分為128個1K字節(jié)的頁。 表 頁0x08000000-0x0800頁0x08000400-0x0800頁0x08000800-0x0800頁0x08000C00-0x0800頁0x08001000-0x0800………………頁0x08001000-0x08000x1FFFF000-0x1FFF0x1FFFF800-0x1FFF0x40022000-0x400240x40022004-0x400240x40022008-0x400240x4002200C-0x400240x40022010-0x400240x40022014-0x400240x40022018-0x400240x4002201C-0x400240x40022020-0x40024表 頁0x08000000-0x0800頁0x08000400-0x0800頁0x08000800-0x0800頁0x08000C00-0x0800頁0x08001000-0x0800………………頁0x0801FC00-0x08010x1FFFF000-0x1FFF0x1FFFF800-0x1FFF0x40022000-0x400240x40022004-0x400240x40022008-0x400240x4002200C-0x400240x40022010-0x400240x40022014-0x400240x40022018-0x400240x4002201C-0x400240x40022020-0x40024表 頁0x08000000-0x0800頁0x08000800-0x0800頁0x08001000-0x0800頁0x08000C00-0x0800頁0x08001800-0x0800………………頁0x0801F800-0x08010x1FFFF000-0x1FFF0x1FFFF800-0x1FFF0x40022000-0x400240x40022004-0x400240x40022008-0x400240x4002200C-0x400240x40022010-0x400240x40022014-0x400240x40022018-0x400240x4002201C-0x400240x40022020-0x40024注 有關(guān)閃存寄存器的詳細(xì)信息,請參考《STM32F10xxx閃存編程手冊閃存24)4)CUCU2: 1.這些選項應(yīng)與閃存器的時間一起使用。等待周期體現(xiàn)了系統(tǒng)時鐘(YCL)頻率與閃存的系:0等待周期,當(dāng)0<SYSCLK<1等待周期,當(dāng)24MHz<SYSCLK2等待周期,當(dāng)48MHz<SYSCLK2.半周期配置不能與使用了預(yù)分頻器的AHB一起使用,時鐘系統(tǒng)應(yīng)該等于HCLK時鐘。該特性只能用在時鐘頻率為8MHz或低于8MHz時,可以直接使用的內(nèi)部RC振蕩器(H),或者是主振蕩器(HSE),但不能用PLL。當(dāng)AHB預(yù)分頻系數(shù)不為1時,必須置預(yù)取緩沖區(qū)處于開啟狀態(tài)預(yù)取緩沖器的打開和關(guān)閉操作只有在系統(tǒng)時鐘(SYSCLK)小于24MHz時才能執(zhí)行。一般而言,預(yù)取緩沖器的打開和關(guān)閉操作在初始化過程中執(zhí)行,這時微控制器的時鐘由8MHz的內(nèi)部RC振蕩器(H)提供。使用DMA:DMA在DCode總線問閃存器,它的優(yōu)先級比Ce上的取指高。DMA在每次傳送完成后具有一個空余的周期。有些指令可以和DMA傳輸一起執(zhí)行。編程和擦除閃存注 有關(guān)閃存器的操作和寄存器配置,請參考STM32F10xxx閃存編程手冊說X001系統(tǒng)說X001系統(tǒng)11內(nèi)嵌為需要的啟動配置。在啟動延遲之后,CPU從地址0x00000000獲取堆棧頂?shù)牡刂?,并從啟動器?x00000004指示的地址開始執(zhí)行代碼。因為固定的器映像,代碼區(qū)始終從地址0x0000開始(通過oe和oe總線),而數(shù)據(jù)區(qū)(RM)始終從地址2000開始(通過系統(tǒng)總線)。oreM3的CU始終從oe總線獲取復(fù)位向量,即啟動僅適合于從代碼區(qū)開始(典型地從lsh啟動)。TF0xx微控制器實現(xiàn)了一個特殊的機制,系統(tǒng)可以不僅僅從Flah器或系統(tǒng)器啟動,還可以從內(nèi)置RM從主閃存器啟動:主閃存器被映射到啟動空間(0x00000000),但仍然能夠在它原有的地址(0x08000000)它,即閃存器的內(nèi)容可以在兩個地址區(qū)域,0x00000000或0x08000000。 地址(0x1FFFF000) 注意:當(dāng)從內(nèi)置RAM啟動,在應(yīng)用程序的初始化代碼中,必須使用NVC的異常表和偏移寄存器,從R內(nèi)嵌的自舉程序內(nèi)嵌的自舉程序用于通過USART1串行接口對閃存器進行重新編程。這個程序位于系統(tǒng)存CRC計算單元小容量產(chǎn)品是指閃存器容量在16K至32K字節(jié)之間的STM32F101xx、STM32F102xx和中容量產(chǎn)品是指閃存器容量在64K至128K字節(jié)之間的STM32F101xx、STM32F102xx和CRC簡介在其他的應(yīng)用中,CRC技術(shù)主要應(yīng)用于核實數(shù)據(jù)傳輸或者數(shù)據(jù)的正確性和完整性。標(biāo)準(zhǔn)EN/IEC60335-1即提供了一種核實閃存器完整性的方法。CRC計算單元可以在程序運行時CRC主要—X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X4+X2+X圖 CRC功能計算進行時會暫停CPU,無需加入軟件等待周期,因此可以對寄存器CRC_DR可以通過把寄存器CRC_CR的RESET位置’0’來重置寄存器CRC_DR為0xFFFFFFFF。該操作CRC寄存數(shù)據(jù)寄存器復(fù)位值:0x0000 位31獨立數(shù)據(jù)寄存器復(fù)位值:0x0000保保 位位電源控制小容量產(chǎn)品是指閃存器容量在16K至32K字節(jié)之間的STM32F101xx、STM32F102xx和中容量產(chǎn)品是指閃存器容量在64K至128K字節(jié)之間的STM32F101xx、STM32F102xx和電圖 電源框注 VDDA和VSSA必須分別聯(lián)到VDD和VSS獨立的A/D轉(zhuǎn)換器供電和參考電壓為了提高轉(zhuǎn)換的精確度,ADC使用一個獨立的電源供電,過濾和來自印刷電路板上的毛刺如果有VREF-引腳(根據(jù)封裝而定),它必須連接到VSSA100腳和144腳封裝:為了確保輸入為低壓時獲得更好精度,用戶可以連接一個獨立的外部參考電壓ADC到VREF+VREF-腳上。在VREF+的電壓范圍為2.4V~VDDA64腳或更少封裝:沒有VREF+和VREF-引腳,他們在內(nèi)部與ADC的電源(VDDA)和地(VSSA)相聯(lián)電池備份區(qū)域T腳也為RC、E振蕩器和C3至15供電,這保證當(dāng)主要電源被切斷時RC能繼續(xù)工作。切換到T如果應(yīng)用中沒有使用外部電池,VBAT必須連接到VDD引腳上在DD上升階段(RTTO)或者探測到D之后,T和DD之間的電源開關(guān)仍會保持連接在T。在D上升階段,如果DD在小于RTTO的時間內(nèi)達到穩(wěn)定狀態(tài)(關(guān)于RTTO可參考數(shù)),且DD>T+06DD和T。如果與T連接的電源或者電池不能承受這樣的注入電流,強烈建議在外部T和電源之間連接一個低壓降二極管。當(dāng)備份區(qū)域由VDD(內(nèi)部模擬開關(guān)連到VDD)供電時,下述功能可用注: 因為模擬開關(guān)只能通過少量的電流(3m),使用PC13至PC15的O口功能是有限制的:同一時間內(nèi)只有一個O口可以作為輸出,速度必須限制在2MHz以下,最大負(fù)載為30pF,而且這些口絕不能當(dāng)作電流源(如驅(qū)動LED)。電壓調(diào)節(jié)器上電復(fù)位(POR)和掉電復(fù)位STM32內(nèi)部有一個完整的上電復(fù)位(POR)和掉電復(fù)位(PDR)電路,當(dāng)供電電壓達到2V圖 可編程電壓監(jiān)測器用戶可以利用D對DD電壓與電源控制寄存器(RR)中的L20]位進行比較來電源,這幾選擇電壓的值。電源控制/狀態(tài)寄存器(WC)中的DO標(biāo)志用來表明DD是高于還是低于D的電壓閥值。該在內(nèi)部連接到外部中斷的第6線,如果該中斷在外部中斷寄存器中是使能的,該事件就會產(chǎn)生中斷。當(dāng)DD下降到D閥值以下和(或)當(dāng)DD上升到D閥值之上時,根據(jù)外部中斷第16線的上升下降邊沿觸發(fā)設(shè)置,就會產(chǎn)生D中斷。例如,這一特性可用于用于執(zhí)行緊急關(guān)閉任務(wù)。圖5PVD部時。用戶需要根據(jù)最低電源消耗,最快速啟動時間和可用的喚醒源等條件,選定一個最模喚模喚睡CPU時鐘關(guān),對其他時鐘和ADC時鐘無影無開停任一外部中斷(在外部中斷寄存器中設(shè)所有使用1.8V的區(qū)域的時鐘都已關(guān)閉,HSIHSE的振蕩進行開關(guān)設(shè)置依待WKUP引腳的上升沿、RTC警告事件、NRST引腳上的外部復(fù)位、IWDG復(fù)關(guān)降低系統(tǒng)時鐘在運行模式下,通過對預(yù)分頻寄存器進行編程,可以降低任意一個系統(tǒng)時鐘(SYSCLK外部時鐘的控制通過設(shè)置AHB外設(shè)時鐘使能寄存器(RCC_AHBENRAPB1外設(shè)的時鐘使能寄存器進入睡眠模式退出睡眠模式如果執(zhí)行WFE指令進入睡眠模式,則一旦發(fā)生喚醒時,微處理器都將從睡眠模式退出。喚醒可以通過下述方式產(chǎn)生:表8SLEEP-NOWSLEEP-NOW說進SLEEPDEEP0SLEEPONEXIT=退喚醒:參考喚醒管無表9SLEEP-ON-EXITSLEEP-ON_EXIT說進SLEEPDEEP0SLEEPONEXIT=退喚醒:參考喚醒管無HSERC振蕩器的功能被,SRAM和寄存器內(nèi)容被保留下來。進入停止模式 退出停止模式表 停止模說進退(I中必須使能)量表待機模式可實現(xiàn)系統(tǒng)的最低功耗。該模式是在Cortex-M3深睡眠模式時關(guān)閉電壓調(diào)節(jié)器。整個進入待機模式退出待機模式當(dāng)一個外部復(fù)位(RT引腳)、DG復(fù)位、WUP引腳上的上升沿或RC鬧鐘發(fā)生時,微控制器從待機模式退出。從待機喚醒后,除了電源控制/狀態(tài)寄存器(_CR)所有寄存器被復(fù)位。說進說進退 待機模式下的輸入/輸出端口狀態(tài)調(diào)試模式默認(rèn)情況下,如果在進行調(diào)試微處理器時,使微處理器進入停止或待機模式,將失去調(diào)試連接。這是因為rex低功耗模式下的自動喚醒(RCC_BDCR)的RTCSEL[1:0]位的編程,三個RTC時中的二個時可以選作實現(xiàn)此功電源控制寄存器電源控制寄存器復(fù)位值:0x00000000從待機模式喚醒時清除保 rc_w1 0:電源控制/狀態(tài)寄存器(保保 位0該位由硬件設(shè)置,并只能由POR/PDR(上電/掉電復(fù)位)或設(shè)置電源控制寄存器(PWR_CR)該位由硬件設(shè)置,并只能由POR/PDR(上電/掉電復(fù)位)或設(shè)置電源控制寄存器(PWR_CR)注:當(dāng)WKUP管腳已經(jīng)是高電平時,在(通過設(shè)置EWUP位)使能WKUP。PWR寄存器地址映像表 76543210000備份寄存器小容量產(chǎn)品是指閃存器容量在16K至32K字節(jié)之間的STM32F101xx、STM32F102xx和中容量產(chǎn)品是指閃存器容量在64K至128K字節(jié)之間的STM32F101xx、STM32F102xx和BKP簡介備份寄存器是42個16位的寄存器,可用來84個字節(jié)的用戶應(yīng)用程序數(shù)據(jù)。他們處在備份域復(fù)位后,對備份寄存器和RTC的被,并且備份域被保護以防止可能存在的意外的寫操BKP特性BKP功能然而為了避免丟失侵入,侵入檢測信號是邊沿檢測的信號與侵入檢測允許位的邏輯與,從而在侵入檢測引腳被允許前發(fā)生的侵入也可以被檢測到。當(dāng)TPAL=0時:如果在啟動侵入檢測TAMPER引腳前(通過設(shè)置TPE位)該引腳已經(jīng)為高電當(dāng)TPAL=1時:如果在啟動侵入檢測引腳TAMPER前(通過設(shè)置TPE位)該引腳已經(jīng)為低電在一個侵入被檢測到并被清除后,侵入檢測引腳TMR應(yīng)該被。然后,在再次寫入備份數(shù)據(jù)寄存器前重新用TE位啟動侵入檢測功能。這樣,可以軟件在侵入檢測引腳上仍然有侵入時對份數(shù)據(jù)存器進寫操作這當(dāng)于對侵引腳TMR行平測。注:當(dāng)VDD電源斷開時,侵入檢測功能仍然有效。為了避免不必要的復(fù)位數(shù)據(jù)備份寄存器,TAMPER引RTC校準(zhǔn)BKP寄存器描述備份數(shù)據(jù)寄存器x(BKP_DRx)x1復(fù)位值:0x0000 位它們可以由備份域復(fù)位來復(fù)位或(如果侵入檢測引腳TAMPER功能被開啟時)由侵入引腳復(fù)RTC時鐘校準(zhǔn)寄存器復(fù)位值:0x0000保 位位當(dāng)設(shè)置了O位,O位可用于選擇在MR引腳上輸出的是秒脈沖還是鬧鐘脈沖位位位校準(zhǔn)值表示在每個時鐘脈沖內(nèi)將有多少個時鐘脈沖被跳過。這可以用來對進行準(zhǔn),以 (2m比減時。備份控制寄存器復(fù)位值:0x0000保 位位位: 同時設(shè)置TL和T位總是安全的。然而,同時清除兩者會產(chǎn)生一個侵入。因此,推只T時變L狀。備份控制/狀態(tài)寄存器復(fù)位值:0x0000保保 位位當(dāng)檢測到有侵入且TPIE位為1時,此位由硬件置1。通過向CTI位寫1來清除此標(biāo)志位(同時位位位位位復(fù)位和時鐘控制小容量產(chǎn)品是指閃存器容量在16K至32K字節(jié)之間的STM32F101xx,STM32F102xx和中容量產(chǎn)品是指閃存器容量在64K至128K字節(jié)之間的STM32F101xx,STM32F102xx和復(fù)軟件復(fù)位通過將Corex3中斷應(yīng)用和復(fù)位控制寄存器中的RTRQ位置’1’,可實現(xiàn)軟件復(fù)r3低功耗管理復(fù)位圖 復(fù)位電備份域復(fù)位在VDD和VBAT兩者掉電的前提下,VDD或VBAT上電將備份區(qū)域復(fù)位時 圖 時鐘1當(dāng)HSI被用于作為PLL時鐘的輸入時,系統(tǒng)時鐘的最大頻率不得超過64MHz用戶可通過多個預(yù)分頻器配置HB、高速(P2)和低速P(1)域的頻率。HB和2域的最大頻率是7HZ。1域的最大允許頻率是MHZ。DO接口的時鐘頻率固定為HL。RC通過HB時鐘8分頻后供給Corex系統(tǒng)定時器的(ysTck)外部時鐘。通過對ysTick控制與狀態(tài)寄存器的設(shè)置,可選擇上述時鐘或CrexB時鐘作為ysTik時鐘。DC時鐘由高速22468HSE時鐘圖 HSE/LSE時外部時(HSE旁路在這個模式里,必須提供外部時鐘。它的頻率最高可達2Hz。用戶可通過設(shè)置在時鐘控制寄存器中的HYP和HN位來選擇這一模式。外部時鐘信號0%占空比的方波、正弦波或三角波必須連到C_N_8。外部晶體/陶瓷諧振器(HSE晶體~Mz外部振蕩器可為系統(tǒng)提供更為精確的主時鐘。相關(guān)的硬件配置可參考圖8,進一步信息可參考的氣特性分。在時鐘控制寄存器RC_R中的HRDY位用來指示高速外部振蕩器是否穩(wěn)定。在啟動時,直到這一位被硬件置’1’,時鐘才被釋放出來。如果在時鐘中斷寄存器RCCIR中允許產(chǎn)生中斷,HSI時鐘HSIRC振蕩器能夠在不需要任何外部器件的條件下提供系統(tǒng)時鐘。它的啟動時間比HSE晶體振校制造工藝決定了不同的RC振蕩器頻率會不同,這就是為什么每個的HSI時鐘頻率在出時鐘控制寄存器中的HSIRDY位用來指示HSIRC振蕩器是否穩(wěn)定。在時鐘啟動過程中,直到這一位被硬件置’1’,HSIRC輸出時鐘才被釋放。HSIRC可由時鐘控制寄存器中的HSION位來啟動LSE時鐘在備份域控制寄存器(C_DR)里的LRDY指示LE晶體振蕩是否穩(wěn)定。在啟動階段,直到這個位被硬件置’1’后,LE時鐘信號才被釋放出來。如果在時鐘中斷寄存器里被允許,可產(chǎn)生中斷申請。外部時(LSE旁路在這個模式里必須提供一2kHz頻率的部。你可以通過設(shè)置在備份域控制寄(C_DR)里的LP和LN位來選擇這個模式。具有50%占空比的外部時鐘信號(方)C_N_UT8。LSI時鐘LSIRC擔(dān)當(dāng)一個低功耗時的角色,它可以在停機和待機模式下保持運行,為獨立看門狗和在控制/狀態(tài)寄存器(RCCR)里的LD位指示低速內(nèi)部振蕩器是否穩(wěn)定。在啟動階段,直到這個位被硬件設(shè)置為1’后,此時鐘才被釋放。如果在時鐘中斷寄存器R_CR)里被允許,L注意:只有大容量產(chǎn)品可以進行LSI校LSI校準(zhǔn)校準(zhǔn)可以通過使用T5的輸入時鐘TIL)測量LI時鐘頻率實現(xiàn)。測量以HE的精度為保證,軟件可以通過調(diào)整RTC的0位預(yù)分頻器來獲得精確的RTC時鐘基數(shù),以及通過計算得到精(D系統(tǒng)時鐘(SYSCLK)選擇只有當(dāng)目標(biāo)時準(zhǔn)備就緒了(經(jīng)過啟動穩(wěn)定階段的延遲或LL穩(wěn)定),從一個時到另一個時的切換才會發(fā)生。在被選擇時沒有就緒時,系統(tǒng)時鐘的切換不會發(fā)生。直至目標(biāo)時鐘源就緒,才發(fā)生切換。時鐘安全系統(tǒng)注意:一旦CSS被激活,并且HSE時鐘出現(xiàn)故障,CSS中斷就產(chǎn)生,并且NMI也自動產(chǎn)生。NMI將被不斷執(zhí)行,直到CSS中斷掛起位被清除。因此,在NMI的處理程序中必須通過設(shè)置時鐘中斷寄存器RTC時鐘通過設(shè)置備份域控制寄存器(RCC_BDCR里的RTCSEL[1:0RTCCLK時鐘源可以由只要VBAT維持供電,盡管VDD供電被切斷,RTC如果VDD供電被切斷或內(nèi)部電壓調(diào)壓器被關(guān)閉(1.8V域的供電被切斷),則RTC狀態(tài)不確定看門狗時鐘如果獨立看門狗已經(jīng)由硬件選項或軟件啟動,LI振蕩器將被強制在打開狀態(tài),并且不能被關(guān)閉。在LWD。RCC寄存器描述時鐘控制寄存器偏移地址復(fù)位值0x000XX83,X代表未定義:無等待狀態(tài),字,半字和字節(jié)保保rrNrrrrrrrrr位位位當(dāng)進入待機和停止模式時,該位由硬件。當(dāng)L時鐘被用作或被選擇將要作為系統(tǒng)時鐘時,該位不能被。位位位在調(diào)試模式下由軟件置’1’或來旁路外部晶體振蕩器。只有在外部4-25MHz振蕩器關(guān)閉的情位由硬件置’1’來指示外部4-25MHz時鐘已經(jīng)穩(wěn)定。在HSEON位后,該位需要6個外部4-位 位位這些位在I]的基礎(chǔ)上,讓用戶可以輸入一個調(diào)整數(shù)值,根據(jù)電壓和溫度的變化調(diào)整內(nèi)部I值則增大HSIRC振蕩器的頻率,反之則減小RC振蕩器的頻率;每步HSICAL的變化調(diào)整約位位由硬件置’1’來指示內(nèi)部8MHz時鐘已經(jīng)穩(wěn)定。在HSION位后,該位需要6個內(nèi)部8MHz時鐘位當(dāng)從待機和停止模式返回或用作系統(tǒng)時鐘的外部-Mz時鐘發(fā)生故障時,該位由硬件置來啟動內(nèi)部Mz的振蕩器。當(dāng)內(nèi)部Mz時鐘被直接或間接地用作或被選擇將要作為系統(tǒng)時鐘,位能被。時鐘配置寄存器偏移地址復(fù)位值0x0000保]保rr位位注意:-該時鐘輸出在啟動和切換MCO時時可能會被截斷-(位由軟件置或清來產(chǎn)生Mz的時鐘。在寄存器中使能時鐘之證果,被。位0000:PLL2倍頻輸 0001:PLL3倍頻輸 0010:PLL4倍頻輸 0011:PLL5倍頻輸 0100:PLL6倍頻輸 0101:PLL7倍頻輸 0110:PLL8倍頻輸 0111:PLL9倍頻輸 位1:HSE2分位位位位注意:軟件必須保證APB1時鐘頻率不超過36MHz。0xx:位HPRE:AHB1000:SYSCLK2分 1100:SYSCLK64分1001:SYSCLK4分 1010:SYSCLK8分 1011:SYSCLK16分 位位時鐘中斷寄存器偏移地址復(fù)位值0x0000保保留wwwwww 位位位位位位HSIRDYC:清除HSI就緒中位位位位位位位位位由軟件通過置’1’CSSC位來清除。位位由軟件通過置’1’PLLRDYC位來清除。位由軟件通過置’1’HSERDYC位來清除。位由軟件通過置’1’HSIRDYC位來清除。位由軟件通過置’1’LSERDYC位來清除。位由軟件通過置’1’LSIRDYC位來清除。APB2偏移地址復(fù)位值0x0000保 位位位位位位位位位位位位位位位位位APB1外設(shè)復(fù)位寄存器復(fù)位值:0x0000 保保保保 保保 位位位位位位位位位I2C2RST:I2C2復(fù)1:復(fù)位I2C2位I2C1RST:I2C1復(fù)1:復(fù)位I2C1位位位位位位SPI3RSTSPI3復(fù)位位位位位位位位位位AHB外設(shè)時鐘使能寄存器復(fù)位值:0x0000保 保保保保保保 位位由軟件置’1’或清’0’0:位位由軟件置’1’或清’0’。0:位位位位位位位由軟件置’1’或清’0’。0:位由軟件置’1’或清’0’。0: 外設(shè)時鐘使能寄存器復(fù)位值:0x0000保 位位位位由軟件置’1’或清’00:位位位位位位位位位位位位位 外設(shè)時鐘使能寄存器復(fù)位值:0x0000 保保保保 保保 位位位位位位由軟件置’1’或清’00:位位由軟件置’1’或清’00:位由軟件置’1’或清’00:I2C2時鐘關(guān)閉;位由軟件置’1’或清’00:I2C1時鐘關(guān)閉;位位位位位位由軟件置’1’或清’00:SPI3時鐘關(guān)閉;位由軟件置’1’或清’00:SPI2時鐘關(guān)閉;位位位位位位位位位備份域控制寄存器注意:備份域控制寄存器中(RCC_BDCR)的LSEON、LSEBYP、RTCSL和RTCEN位處于備份域。由此,這些位在復(fù)位后被寫保護,只有在電源控制寄存器(PWR_C)中的DBP位置1之后才能對這些位進行改動。進一步信息請參考51節(jié)。這些位只能由備份域復(fù)位或VT上電復(fù)位。任何內(nèi)部或外部復(fù)位不會影響這些位。保87654321保保 位位位由軟件置’1’或清’00:位位由軟件設(shè)置來選擇RTC時。一旦RTC時被選定,直到下次后備域被復(fù)位,它不能在被位位位由硬件置’1’或清’0’來指示是否外部32kHz振蕩器就緒。在LSEON被后,該位需要6個外部位控制/狀態(tài)寄存器 保保 保 位位位位位位位位位位位0001100011保保保0保0參照2008年12RM0008ReferenceManual英文第70000

保保保保保0保保000保保00000

保保0000000000000000000000保00保00保0保0000000000000

000000000000000000000

00000011100100

保保00000000000000000000保00保00保0保0000000000000

000000000000000000000000000000

000保000保0000000保保00000000保保00000000000000保0000000000000保00000000000000000000000000

保保

表偏表偏保保0PLLRDY0PLLON保保0000HSEBYPHSERDY0HSEON00000000110006543保 1HSIRDY1 RCCRCC寄存器地址通用和復(fù)用功能I/O(GPIO和小容量產(chǎn)品是指閃存器容量在16K至32K字節(jié)之間的STM32F101xx、STM32F102xx和中容量產(chǎn)品是指閃存器容量在64K至128K字節(jié)之間的STM32F101xx、STM32F102xx和GPIO每個GPI/O端口有兩個32位配置寄存器(GPIOx_CRL,GPIOx_CRH),兩個32位數(shù)據(jù)寄存器(GPIOx_IDR,GPIOx_ODR),一個32位置位/復(fù)位寄存器(GPIOx_BSRR),一個16位復(fù)位寄存根據(jù)中列出的每個I/O端口的特定硬件特征,GPIO端口的每個位可以由軟件分別配置每個O端口位可以自由編程,然而0端口寄存器必須按32位字被(不允許半字或字節(jié)訪問)。_R和x_RR寄存器允許對任何O寄存器的讀/更改的獨立;這樣讀改之生R不生。圖9I/O端口位的基本結(jié)構(gòu)圖 )表 PxODR00見表0101010011001表 輸出模式意通用I/O端口被配置成浮空輸入模式(CNFx[1:0]=01b,PB4JNTRST單獨的位設(shè)置或位清除這是通過對“置位/復(fù)位寄存器”(GPIOx_BSRRGPIOx_BRR)中想要更改的位寫’1’來外部中斷/喚醒線所有端口都有外部中斷能力。為了使用外部中斷線,端口必須配置成輸入模式。的關(guān)于外復(fù)用功能注意:也可以通過軟件來模擬復(fù)用功能輸入管腳,這種模擬可以通過對GPIO控制器編程來實現(xiàn)。此軟件重新映射I/O復(fù)用功能為了使不同器件封裝的外設(shè)/功能的數(shù)量達到最優(yōu),可以把一些復(fù)用功能重新映射到其他一些腳上。這可以通過軟件配置相應(yīng)的寄存器來完成(參考FO寄存器描述)。這時,復(fù)用功能就不再映射到它們的原始引腳上了。GPIO鎖定機制圖 )(P-MOS從不被激活)。圖 輸出配(1)VDD_FT對5伏兼容I/O腳是特殊的,它與VDD不復(fù)用功能配置 )模擬輸入配置圖 )GPIO寄存器描述端口配置低寄存器 復(fù)位值:0x4444位位=9:8,端口配置高寄存器 復(fù)位值:0x4444位位=9:8,端口輸入數(shù)據(jù)寄存器 復(fù)位值:0x0000 位位=端口輸出數(shù)據(jù)寄存器 位位==端口位設(shè)置/清除寄存器 w wwwwwwwwwwwww wwwwwwwwwwww位BRy清除端口x的位yy位BSy:設(shè)置端口x的位yy端口位清除寄存器 復(fù)位值:0x0000 位位BRy清除端口x的位yy端口配置鎖定寄存器 當(dāng)執(zhí)行正確的寫序列設(shè)置了位1LC)時,該寄存器用來鎖定端口位的配置。位150]用于鎖定端口的配置。在規(guī)定的寫入操作期間,不能改變LC50。當(dāng)對相應(yīng)的端口位執(zhí)行了LC每個鎖定位鎖定控制寄存器(CRLCRH)中相應(yīng)的4個位。復(fù)位值:0x0000保87654321位位寫1寫0->寫1讀0讀位LCKy端口x的鎖位yy復(fù)用功能I/O和調(diào)試配置把OSC32_IN/OSC32_OUT作為 端口當(dāng)LSE振蕩器關(guān)閉時,LSE振蕩器引腳OSC32_IN/OSC32_OUT可以分別用做GPIO注 1.當(dāng)關(guān)閉1.8V電壓區(qū)(進入待機模式)或后備區(qū)域使用VBAT供電(不再有VDD供電)時,不能使把OSC_IN/OSC_OUT引腳作為GPIO端口這個重映射只適用于6、4和4腳的封裝10腳和14腳的封裝上有單獨的D和1的引) 外部中斷/功能沒有被重映射。在36、48和64腳的封裝上,PD0和PD1不能用來產(chǎn)生外部中CAN復(fù)用功能重映射表 JTAG/SWD復(fù)用功能重映射GPIOGPIOSWJI/O完全SWJ(JTAG-DPSWJI/O完全SWJ(JTAG-DP完全SWJ(JTAG-DP1.I/O口只可在不使用異步時使用ADC復(fù)用功能重映射.表 .表 .表 .定時器復(fù)用功能重映射表 表 TIM4_REMAP=TIM4_REMAP= 表 (沒有重映像(部分重映像(完全重映像表 (沒有重映像(部分重映像(部分重映像(完全重映像TIM_CH1和TIM_ETR共個管腳,但不能同時使用(這也正是我們在此處使用表達式TIM2_CH1_ETR表 (沒有重映像(部分重映像(完全重映像USART復(fù)用功能重映射(沒有重映像(部分重映像USART3_REMAP[1:0]=(完全重映像(沒有重映像(部分重映像USART3_REMAP[1:0]=(完全重映像表 USART2_REMAP=USART2_REMAP=表 USART1_REMAP=USART1_REMAP=I2C1I2C1_REMAP=I2C1_REMAP=I2C1_REMAP=I2C1_REMAP=SPI1SPI1_REMAP=SPI1_REMAP=SPI1_REMAP=SPI1_REMAP=AFIO寄存器描述注意:對寄存器AFIO_EVCR,AFIO_MAPR和AFIO_EXTICRX進行讀寫操作前,應(yīng)當(dāng)首先打開AFIO的時鐘。參考章節(jié)6.3.7APB2外設(shè)時鐘使能寄存器(RCC_APB2ENR)??刂萍拇嫫鲝?fù)位值:0x0000保 位位位 位 復(fù)用重映射和調(diào)試I/O配置寄存器復(fù)位值:0x0000 保保 位位這些位可由軟件讀寫,用于配置SWJ和復(fù)用功能的I/O口。SWJ(串行線JTAG)支持JTAG或SWDCortex的調(diào)試端口。系統(tǒng)復(fù)位后的默認(rèn)狀態(tài)是啟用SWJ但沒有功能,這種狀態(tài)下++位位該位可由軟件置’或置’。它控制與2規(guī)則轉(zhuǎn)換外部觸發(fā)相連的觸發(fā)輸入映像。當(dāng)該位置’時,規(guī)則轉(zhuǎn)換外部觸發(fā)與1相連;當(dāng)該位置’時,2規(guī)則轉(zhuǎn)換外部觸發(fā)與M位該位可由軟件置’或置’。它控制與2注入轉(zhuǎn)換外部觸發(fā)相連的觸發(fā)輸入映像。當(dāng)該位置’時,注入轉(zhuǎn)換外部觸發(fā)與5相連;當(dāng)該位置’時,2注入轉(zhuǎn)換外部觸發(fā)與I位該位可由軟件置’或置’。它控制與2規(guī)則轉(zhuǎn)換外部觸發(fā)相連的觸發(fā)輸入映像。當(dāng)該位置’時,規(guī)則轉(zhuǎn)換外部觸發(fā)與1相連;當(dāng)該位置’時,1規(guī)則轉(zhuǎn)換外部觸發(fā)與M位該位可由軟件置’或置’。它控制與2注入轉(zhuǎn)換外部觸發(fā)相連的觸發(fā)輸入映像。當(dāng)該位置’時,注入轉(zhuǎn)換外部觸發(fā)與5相連;當(dāng)該位置’時,1注入轉(zhuǎn)換外部觸發(fā)與I位該位可由軟件置’或置’。它控制M通道內(nèi)部映像。當(dāng)該位置’時,M與相位該位可由軟件置或置。它控制0和1的GO功能映像。當(dāng)不使用主振蕩器時(系Mz)和_I和O、(和Q)。位位位位位10未用組合11完全映像位這些位可由軟件置’或置’,控制3的、、K、X和復(fù)用功能在GIO端00沒有重映像01部分映像10未用組合:位這些位可由軟件置’或置’,控制2的、、K、X和復(fù)用功能在GIO端0沒有重映像1重映像位0沒有重映像:位0沒有重映像:位該位可由軟件置或置,控制的、、IOOIGO0沒有重映像:外部中斷配置寄存器保 保 位位EXTIx[3:0]:EXTIx配置(x0 外部中斷配置寄存器保 保 位位EXTIx[3:0]:EXTIx配置(x4 保 保 位位EXTIx[3:0]:EXTIx配置(x8 外部中斷配置寄存器保 保 位位EXTIx[3:0]:EXTIx配置(x12 中斷和小容量產(chǎn)品是指閃存器容量在16K至32K字節(jié)之間的STM32F101xx、STM32F102xx和中容量產(chǎn)品是指閃存器容量在64K至128K字節(jié)之間的STM32F101xx、STM32F102xx和嵌套向量中斷控制器特系統(tǒng)嘀嗒(SysTick)校準(zhǔn)值寄存器中斷和異常向量表 01234560718293456789CANSCE中I2C1中I2C2中外部中斷/控制器外部中斷/控制器由19個產(chǎn)生/中斷要求的邊沿檢測器組成。每個輸入線可以獨立地配置輸入類型(脈沖或掛起)和對應(yīng)的觸發(fā)(上升沿或下降沿或者雙邊沿都觸發(fā))。每個輸入線都可框圖 喚醒管NCore-3NDUWFC在N)。如果要產(chǎn)生中斷,必須事先配置好并使能中斷線。根據(jù)需要的邊沿檢測設(shè)置2時在中斷寄存器的相應(yīng)位寫’1’允許中斷請求。當(dāng)外部中斷線上發(fā)生了需要的邊沿時,生一個中斷請求,對應(yīng)的掛起位也隨之被置1’。在掛起寄存器的對應(yīng)位寫1’,可以清除該中斷請求。如果要為產(chǎn)生,必須事先配置好并使能線。根據(jù)需要的邊沿檢測通過設(shè)置2個觸發(fā)寄存器,同時在寄存器的相應(yīng)位寫’1’允許請求。當(dāng)線上發(fā)生了需要的邊沿時,將產(chǎn)生一個請求脈沖,對應(yīng)的掛起位不被置’1’。硬件中斷選擇硬件選軟件中斷/的選外部中斷/線路映 中斷寄存器復(fù)位值:0x0000 保 位位MRx:線x寄存器復(fù)位值:0x0000 位位MRx:線x上上升沿觸發(fā)選擇寄存器復(fù)位值:0x0000 位位TRx:線x上的上升沿觸發(fā)配置注意 外部喚醒線是邊沿觸發(fā)的,這些線上不能出現(xiàn)毛刺信號在寫T_TR寄存器時,在外部中斷線上的上升沿信號不能被識別,掛起位不會被置位。在同一中斷線上,可以同時設(shè)置上升沿和下降沿觸發(fā)。即任一邊沿都可觸發(fā)中斷。下降沿觸發(fā)選擇寄存器復(fù)位值:0x0000 位位TRx:線x上的下降沿觸發(fā)配置注意 外部喚醒線是邊沿觸發(fā)的,這些線上不能出現(xiàn)毛刺信號在寫TT寄存器時,在外部中斷線上的下降沿信號不能被識別,掛起位不會被置位。在同一中斷線上,可以同時設(shè)置上升沿和下降沿觸發(fā)。即任一邊沿都可觸發(fā)中斷。軟件中斷寄存器復(fù)位值:0x0000 位位當(dāng)該位為時,寫’將設(shè)置I中相應(yīng)的掛起位。如果在IM和IM中允許掛起寄存器復(fù)位值:0xXXXX rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1rc_w1位位PRx掛起當(dāng)在外部中斷線上發(fā)生了選擇的邊沿,該位被置’1’。在該位中寫入’1’可以清除它,也可以DMA控制器小容量產(chǎn)品是指閃存器容量在16K至32K字節(jié)之間的STM32F101xx、STM32F102xx和中容量產(chǎn)品是指閃存器容量在64K至128K字節(jié)之間的STM32F101xx、STM32F102xx和DMA簡介DMA主要等優(yōu)先權(quán)時由硬件決定(請求0優(yōu)先于請求1,依此類推)。每個通道都有3個標(biāo)志(DMA半傳輸,DMA傳輸完成和DMA傳輸出錯),這3個標(biāo)志圖17DMADMA控制器和Cortex?-M3核共享系統(tǒng)數(shù)據(jù)總線執(zhí)行直接器數(shù)據(jù)傳輸。當(dāng)CPU和DMA同時訪問相同的目標(biāo)(RAM或外設(shè))時,DMA請求可能會停止CPU系統(tǒng)總線達若干個周期,總線仲裁器執(zhí)行循環(huán)調(diào)度,以保證CPU至少可以得到一半的系統(tǒng)總線(器或外設(shè))帶寬。DMA處理在發(fā)生一個后,外設(shè)發(fā)送一個請求信號到DMA控制器。DMA控制器根據(jù)通道的優(yōu)先權(quán)處理請求。當(dāng)DMA控制器開始外設(shè)的時候,DMA控制器立即發(fā)送給外設(shè)一個應(yīng)答信號。當(dāng)從 仲裁器注意:在大容量產(chǎn)品中,DMA1控制器擁有高于DMA2控制器的優(yōu)先DMA可編程的數(shù)據(jù)量指針增量通過設(shè)置DMCRx寄存器中NC和MNC標(biāo)志位,外設(shè)和器的指針在每次傳輸后可以有選擇地完成自動增量。當(dāng)設(shè)置為增量模式時,下一個要傳輸?shù)牡刂穼⑹乔耙粋€地址加上增量值,增量值取決與所選的數(shù)據(jù)寬度為1、2或4。第一個傳輸?shù)牡刂反娣旁贛_Cx通道配置過程 當(dāng)傳輸一半的數(shù)據(jù)后,半傳輸標(biāo)志H)被置1,當(dāng)設(shè)置了允許半傳輸中斷位(T)時,將產(chǎn)生一個中斷請求。在數(shù)據(jù)傳輸結(jié)束后,傳輸完成標(biāo)志C)被置1,當(dāng)設(shè)置了允許傳輸完成中斷位T)循環(huán)模式循環(huán)模式用于處理循環(huán)緩沖區(qū)和連續(xù)的數(shù)據(jù)傳輸(如DC的掃描模式)。在M_Cx寄存器中的CC位用于開啟這能。當(dāng)啟動了循環(huán)模式,數(shù)據(jù)傳輸?shù)臄?shù)目變?yōu)?時,將會自動地被恢M器到器模位啟動DMA通道時,傳輸將馬上開始。當(dāng)DTRx寄存器變?yōu)?時,DMA傳輸結(jié)寬寬數(shù)源:地址/目標(biāo):地址/寬寬數(shù)源:地址/目標(biāo):地址/8840x0/0x1/0x2/0x3/::::0x0/0x1/0x2/0x3/840x0/0x1/0x2/0x3/::::0x0/0x2/0x4/0x6/840x0/0x1/0x2/0x3/ :0x0/0x4/0x8/0xC/840x0/0x2/0x4/0x6/::::0x0/0x1/0x2/0x3/40x0/0x2/0x4/0x6/::::0x0/0x2/0x4/0x6/40x0/0x2/0x4/0x6/::::0x0/0x4/0x8/0xC/840x0/0x4/0x8/0xC/::::0x0/0x1/0x2/0x3/40x0/0x4/0x8/0xC/::::0x0/0x2/0x4/0x6/40x0/0x4/0x8/0xC/::::0x0/0x4/0x8/0xC/操作一個不支持字節(jié)或半字寫的AHB設(shè)備當(dāng)MA模塊開始一個HB的字節(jié)或半字寫操作時,數(shù)據(jù)將在DT10]總線中未使用的部分重復(fù)。因此,如果DM以字節(jié)或半字寫入不支持字節(jié)或半字寫操作的H設(shè)備時(即HZ不)DM2HDT例如,如果要寫入APB后備寄存器(與32位地址對齊的16位寄存器),需要配置器數(shù)據(jù)源寬讀寫一個保留的地址區(qū)域,將會產(chǎn)生DMA傳輸錯誤。當(dāng)在DMA讀寫操作時發(fā)生DMA傳輸錯誤時,硬件會自動地清除發(fā)生錯誤的通道所對應(yīng)的通道配置寄存器(DM_Cx)的N位,該通道操作被停止。此時,在DM_FT寄存器中對應(yīng)該通道的傳輸錯誤中斷標(biāo)志位(T)將被置位,如果在MCRx中表 注意:在大容量產(chǎn)品中,DMA2通道4和DMA2通道5的中斷被映射在同一個中斷向量上,其他的DMA通DMADMA1控制器 外通道通道通道通道通道通道通道DMA2控制器從外設(shè)(TIMx5、6、7、8]、DC3、23、URT4、DC通道1、2和D)產(chǎn)生的5個請求,經(jīng)邏輯或輸入到MA控制器,這意味著同時只能有一個請求有效。參見下圖的M2請求映像。注意:DMA2控制器及相關(guān)請求僅存在于大容量圖 表 外通道通道通道通道通道DMA寄存注意:在以下列舉的所有寄存器中,所有與通道6和通道7相關(guān)的位,對DM2都不適用,因為D2只5DMA中斷狀態(tài)寄存器復(fù)位值:0x0000 位位19,15TEIFx:通道x的傳輸錯誤標(biāo)志(x1位18,14HTIFx:通道x的半傳輸標(biāo)志(x1位17,13TCIFx:通道x的傳輸完成標(biāo)志(x1位16,12GIFx:通道x的全局中斷標(biāo)志(x1DMA中斷標(biāo)志清除寄存器復(fù)位值:0x0000 位位CTEIFx:清除通道x的傳輸錯誤標(biāo)志(x119,15位CHTIFx:清除通道x的半傳輸標(biāo)志(x118,14位CTCIFx:清除通道x的傳輸完成標(biāo)志(x117,13位CGIFx:清除通道x的全局中斷標(biāo)志(x1DMA通道x配置寄存器(DMA_CCRx)(x=偏移地址:0x0820dx通道編號復(fù)位值:0x00000000 位 位位位位位位位位位位位位DMA通道x傳輸數(shù)量寄存器 偏移地址:0x0C20dx通道編號復(fù)位值:0x00000000位位數(shù)據(jù)傳輸數(shù)量為0至。這個寄存器只能在通道不工作(Mx的)時寫入。通道開啟后該寄存器變?yōu)橹蛔x,指示剩余的待傳輸?shù)淖止?jié)數(shù)目。寄存器內(nèi)容

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論