-
- 素材大。
- 1.05 MB
- 素材授權(quán):
- 免費(fèi)下載
- 素材格式:
- .ppt
- 素材上傳:
- lipeier
- 上傳時間:
- 2019-02-18
- 素材編號:
- 224111
- 素材類別:
- 課件PPT
-
素材預(yù)覽
這是stm32定時器ppt,包括了STM32定時器概述,通用定時器TIMx相關(guān)寄存器,庫函數(shù),程序設(shè)計(jì)方法,系統(tǒng)時鐘SysTick簡介,SysTick應(yīng)用實(shí)例等內(nèi)容,歡迎點(diǎn)擊下載。
stm32定時器ppt是由紅軟PPT免費(fèi)下載網(wǎng)推薦的一款課件PPT類型的PowerPoint.
第6講 STM32定時器 實(shí)驗(yàn)六 定時器實(shí)驗(yàn) 實(shí)驗(yàn)?zāi)康模赫莆斩〞r器的工作原理與編程實(shí)現(xiàn)定時的方法。 實(shí)驗(yàn)內(nèi)容: 1)利用TIM2定時500ms,LED1、LED3同時亮滅一次;TIM3定時2 s,LED2、LED4亮滅一次。 2)利用SysTick實(shí)現(xiàn)定時1秒鐘,LED切換一次亮滅狀態(tài)。 主要內(nèi)容 6.1 STM32定時器概述 6.2 通用定時器TIMx相關(guān)寄存器 6.3 庫函數(shù) 6.4 程序設(shè)計(jì)方法 6.5 系統(tǒng)時鐘SysTick簡介 6.6 SysTick應(yīng)用實(shí)例 6.1 STM32定時器概述 名為TIMx的定時器有8個,其中TIM1和TIM8掛在APB2總線上,而TIM2-TIM7則掛在APB1總線上。 APB2可以工作在72MHz下,而APB1最大是36MHz。 定時器都是16位的。 通用定時器4個:TIM2、TIM3、TIM4和TIM5。它適用于多種場合,包括測量輸入信號的脈沖長度(輸入捕獲)或者產(chǎn)生輸出波形(輸出比較和PWM)。 高級定時器2個:TIM1和TIM8。比通用定時器功能更強(qiáng)大,適用于更多場合。 基本定時器2個:TIM6和TIM7。主要用于產(chǎn)生DAC觸發(fā)信號,也可當(dāng)做通用的16位時基計(jì)數(shù)器。 通用TIMx 定時器主要功能 (1)16位向上、向下、向上/向下自動裝載計(jì)數(shù)器 (2)16位可編程(可以實(shí)時修改)預(yù)分頻器,計(jì)數(shù)器時鐘頻率的分頻系數(shù)為1~65536之間的任意數(shù)值 (3) 4個獨(dú)立通道: ①輸入捕獲;②輸出比較;③PWM生成(邊緣或中間對齊模式);④單脈沖模式輸出 (4)使用外部信號控制定時器和定時器互連的同步電路。 (5)如下事件發(fā)生時產(chǎn)生中斷/DMA: 更新:計(jì)數(shù)器向上溢出/向下溢出,計(jì)數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā)) ; 觸發(fā)事件(計(jì)數(shù)器啟動、停止、初始化或者由內(nèi)部/外部觸發(fā)計(jì)數(shù)) ; 輸入捕獲; 輸出比較 ; 支持針對定位的增量(正交)編碼器和霍爾傳感器電路; 觸發(fā)輸入作為外部時鐘或者按周期的電流管理。 6.2 通用定時器TIMx相關(guān)寄存器 CR1: 控制寄存器1 CR2: 控制寄存器2 SMCR:從模式控制寄存器 DIER: DMA/中斷使能寄存器 SR: 狀態(tài)寄存器 EGR: 事件產(chǎn)生寄存器 CCMR1:捕獲/比較模式寄存器1 CCMR2:捕獲/比較模式寄存器2 CCER: 捕獲/比較使能寄存器 CNT : 計(jì)數(shù)器寄存器 PSC : 預(yù)分頻寄存器 APR : 自動重裝載寄存器 CCR1 :捕獲/比較寄存器1 CCR2 :捕獲/比較寄存器2 CCR3 :捕獲/比較寄存器3 CCR4 :捕獲/比較寄存器4 DCR : DMA控制寄存器 DMAR :連續(xù)模式的DMA地址寄存器 控制寄存器1(TIMx_CR1) CEN:使能計(jì)數(shù)器。 0:禁止計(jì)數(shù)器; 1:使能計(jì)數(shù)器。 DIR:方向 (Direction) 。0:計(jì)數(shù)器向上計(jì)數(shù); 1:計(jì)數(shù)器向下計(jì)數(shù)。 CMS[1:0]:選擇中央對齊模式 (Center-aligned mode selection) 參見“ STM32中文參考手冊_V10.pdf ” 從模式控制寄存器(TIMx_SMCR) SMS[2:0]:從模式選擇 (Slave mode selection) 000:關(guān)閉從模式 ,如果CEN=1,則預(yù)分頻器直接由內(nèi)部時鐘驅(qū)動。 DMA/中斷使能寄存器(TIMx_DIER) 位0 (UIE):允許更新中斷 (Update interrupt enable) 。0:禁止更新中斷; 1:允許更新中斷。 狀態(tài)寄存器(TIMx_SR) 位0 (UIF):更新中斷標(biāo)記 (Update interrupt flag) 當(dāng)產(chǎn)生更新事件時該位由硬件置’1’。它由軟件清’0’。 0:無更新事件產(chǎn)生; 1:更新中斷等待響應(yīng)。 當(dāng)寄存器被更新時該位由硬件置’1’: − 若TIMx_CR1寄存器的UDIS=0、URS=0,當(dāng)TIMx_EGR寄存器的UG=1時產(chǎn)生更新事件(軟件對計(jì)數(shù)器CNT重新初始化); − 若TIMx_CR1寄存器的UDIS=0、URS=0,當(dāng)計(jì)數(shù)器CNT被觸發(fā)事件重初始化時產(chǎn)生更新事件。(參考同步控制寄存器的說明) 6.3 庫函數(shù) TIM_DeInit :將外設(shè)TIMx寄存器重設(shè)為缺省值。 TIM_TimeBaseInit :根據(jù)TIM_TimeBaseInitStruct 中指定的參數(shù)初始化TIMx的時間基數(shù)單位。 TIM_TimeBaseStructInit :把TIM_TimeBaseInitStruct 中的每一個參數(shù)按缺省值填入。 TIM_Cmd :使能或者失能TIMx外設(shè)。 TIM _ITConfig :使能或者失能指定的TIM中斷。 TIM_PrescalerConfig :設(shè)置TIMx預(yù)分頻 TIM_GetFlagStatus :檢查指定的TIM標(biāo)志位設(shè)置與否 TIM_ClearFlag :清除TIMx的待處理標(biāo)志位 TIM_ClearITPendingBit :清除TIMx的中斷待處理位 函數(shù)TIM_TimeBaseInit 功能:根據(jù)TIM_TimeBaseInitStruct中指定的參數(shù)初始化TIMx的時間基數(shù)單位。 函數(shù)原形: void TIM_TimeBaseInit ( TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct) 其中,TIMx:x可以是2,3或者4,來選擇TIM外設(shè)。 TIMTimeBase_InitStruct:指向結(jié)構(gòu)TIM_TimeBaseInitTypeDef的指針,包含了TIMx時間基數(shù)單位的配置信息。 TIM_TimeBaseInitTypeDef structure typedef struct { u16 TIM_Period; /*TIM_Period設(shè)置了在下一個更新事件裝入活動的自動重裝載寄存器周期的值,0x0000和0xFFFF之間*/ u16 TIM_Prescaler; /* TIM_Prescaler設(shè)置了用來作為TIMx時鐘頻率除數(shù)的預(yù)分頻值*/ u8 TIM_ClockDivision; /* TIM_ClockDivision設(shè)置了時鐘分割*/ u16 TIM_CounterMode; /* TIM_CounterMode選擇了計(jì)數(shù)器模式*/ } TIM_TimeBaseInitTypeDef ; TIM_ClockDivision 描述 TIM_CKD_DIV1 TDTS = Tck_tim TIM_CKD_DIV2 TDTS = 2Tck_tim TIM_CKD_DIV4 TDTS = 4Tck_tim TDTS: 數(shù)字濾波器使用的采樣頻率 Tck_tim:定時器時鐘頻率 暫時不涉及數(shù)字濾波器,這項(xiàng)先不考慮 TIM_CounterMode 描述 TIM_CounterMode_Up TIM向上計(jì)數(shù)模式 TIM_CounterMode_Down TIM 向下計(jì)數(shù)模式 TIM_CounterMode_CenterAligned1 TIM 中央對齊模式1計(jì)數(shù)模式 TIM_CounterMode_CenterAligned2 TIM 中央對齊模式2計(jì)數(shù)模式 TIM_CounterMode_CenterAligned3 TIM 中央對齊模式3計(jì)數(shù)模式 例: TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = 0xFFFF; TIM_TimeBaseStructure.TIM_Prescaler = 0xF; TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, & TIM_TimeBaseStructure); 定時時間的計(jì)算 定時時間 =(Period+1)*(Prescaler+1)/TIMxCLK 當(dāng)Prescaler≠1時,TIMxCLK=72MHz 當(dāng)Prescaler=1時,TIMxCLK=36MHz 函數(shù)TIM_Cmd 功能描述:使能或者失能TIMx外設(shè) 函數(shù)原形:void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState) TIMx:x可以是2,3或者4,來選擇TIM外設(shè) NewState: 外設(shè)TIMx的新狀態(tài),ENABLE或者DISABLE 例: /* Enables the TIM2 counter */ TIM_Cmd(TIM2, ENABLE); 函數(shù)TIM _ITConfig 功能描述:使能或者失能指定的TIM中斷 函數(shù)原形:void TIM_ITConfig(TIM_TypeDef* TIMx, u16 TIM_IT, FunctionalState NewState) TIMx:x可以是2,3或者4,來選擇TIM外設(shè) TIM_IT:待使能或者失能的TIM中斷源 NewState:TIMx中斷的新狀態(tài)。ENABLE或者DISABLE TIM_IT值: 例: /* Enables the TIM2 Capture Compare channel 1 Interrupt source */ TIM_ITConfig(TIM2, TIM_IT_CC1, ENABLE ); 函數(shù)TIM_PrescalerConfig 功能描述:設(shè)置TIMx預(yù)分頻 函數(shù)原形:void TIM_PrescalerConfig (TIM_TypeDef* TIMx, u16 Prescaler,u16 TIM_PSCReloadMode) TIM_PSCReloadMode:預(yù)分頻重載模式 例:/* Configures the TIM2 new Prescaler value */ u16 TIMPrescaler = 0xFF00; TIM_PrescalerConfig(TIM2, TIMPrescaler, TIM_PSCReloadMode_Immediate); 函數(shù)TIM_GetFlagStatus 功能描述:檢查指定的TIM標(biāo)志位設(shè)置與否 函數(shù)原形: FlagStatus TIM_GetFlagStatus (TIM_TypeDef* TIMx, u16 TIM_FLAG) TIMx:x可以是2,3或者4,來選擇TIM外設(shè) TIM_FLAG:待檢查的TIM標(biāo)志位 返回值:TIM_FLAG的新狀態(tài)(SET或者RESET) 例:/* Check if the TIM2 Capture Compare 1 flag is set or reset */ if(TIM_GetFlagStatus(TIM2, TIM_FLAG_CC1) == SET) { } TIM_FLAG值: 函數(shù)TIM_ClearFlag 功能描述:清除TIMx的待處理標(biāo)志位 函數(shù)原形: void TIM_ClearFlag(TIM_TypeDef* TIMx, u32 TIM_FLAG) TIMx:x可以是2,3或者4,來選擇TIM外設(shè) TIM_FLAG:待清除的TIM標(biāo)志位 例: /* Clear the TIM2 Capture Compare 1 flag */ TIM_ClearFlag(TIM2, TIM_FLAG_CC1); 函數(shù)TIM_ClearITPendingBit 功能描述:清除TIMx的中斷待處理位 函數(shù)原形:void TIM_ClearITPendingBit (TIM_TypeDef* TIMx, u16 TIM_IT) TIMx:x可以是2,3或者4,來選擇TIM外設(shè)。 TIM_IT:待檢查的TIM中斷待處理位。 例: /* Clear the TIM2 Capture Compare 1 interrupt pending bit */ TIM_ClearITPendingBit(TIM2, TIM_IT_CC1); 6.4 程序設(shè)計(jì)方法 包含頭文件 聲明函數(shù) 聲明變量 主函數(shù) 函數(shù)調(diào)用 主循環(huán)程序段 配置系統(tǒng)時鐘、使能外設(shè)時鐘子函數(shù) 配置GPIO子函數(shù) 配置NVIC子函數(shù) 配置定時器子函數(shù) 延時子函數(shù) 中斷服務(wù)子函數(shù) 聲明函數(shù): #include " stm32f10x.h " void Delay(vu32 nCount); void RCC_Configuration(void); void GPIO_Configuration(void); void NVIC_Configuration(void); void TIM2_Configuration(void); 主函數(shù): int main() { RCC_Configuration(); /* 配置系統(tǒng)時鐘 */ NVIC_Configuration(); /* 配置NVIC */ GPIO_Configuration(); /* 配置GPIO IO口初始化 */ TIM2_Configuration(); /* 配置TIM2 定時器 */ GPIOC->ODR = 0xffffffff; /* 全滅 */ while(1); } 使能外設(shè)時鐘: void RCC_Configuration() { 。// 初始化系統(tǒng)時鐘(略) } //使能TIM2時鐘和GPIOC時鐘 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); } //延時子函數(shù): void Delay(vu32 nCount) { for (; nCount != 0; nCount--); } 配置GPIO的子函數(shù): void GPIO_Configuration() /*GPIO初始化,PC輸出 ,PA輸入*/ { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); } 配置NVIC: void NVIC_Configuration() { NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); } 配置TIM2子函數(shù): void TIM2_Configuration() { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = 35999; TIM_TimeBaseStructure.TIM_Prescaler = 1999; TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); TIM_ClearFlag(TIM2, TIM_FLAG_Update); TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); TIM_Cmd(TIM2, ENABLE); } 中斷服務(wù)子函數(shù): //中斷服務(wù)程序一般寫在stm32f10x_it.c文件中。 void TIM2_IRQHandler(void) { if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_3)==0) GPIO_SetBits(GPIOC,GPIO_Pin_3); else GPIO_ResetBits(GPIOC,GPIO_Pin_3); TIM_ClearFlag(TIM2, TIM_FLAG_Update); } 6.5 系統(tǒng)時基定時器SysTick簡介 stm32-M3有一個系統(tǒng)時基定時器(又叫嘀嗒時鐘),其為一個24位遞減計(jì)數(shù)器。系統(tǒng)時基定時器設(shè)置初值并使能后,每經(jīng)過一個系統(tǒng)時鐘周期,計(jì)數(shù)器就減一,當(dāng)計(jì)數(shù)器遞減到0時,系統(tǒng)時基定時器自動重裝載初值,并繼續(xù)向下計(jì)數(shù),同時內(nèi)部的COUNTFLAG標(biāo)志會置位,觸發(fā)中斷。 系統(tǒng)時基定時器功能簡單,只能提供一個時基定時器,作為滴答時鐘。在外部晶振8MHZ,通過PLL9倍頻,系統(tǒng)時鐘為72MHz,系統(tǒng)時鐘定時器的遞減頻率可以設(shè)為9MHz(HCLK/8),在這個條件下,把系統(tǒng)定時器的初值設(shè)置為90000,就能夠產(chǎn)生10ms的時間基值。如果開啟中斷,則產(chǎn)生10ms的中斷。 時基定時器的中斷并不需要清除中斷位,系統(tǒng)會自動清除。 SysTick寄存器結(jié)構(gòu) typedef struct { vu32 CTRL; //SysTick控制和狀態(tài)寄存器 vu32 LOAD; //SysTick重裝載值寄存器 vu32 VAL; //SysTick當(dāng)前值寄存器 vuc32 CALIB; //SysTick校準(zhǔn)值寄存器 } SysTick_TypeDef; SysTick庫函數(shù) SysTick_CLKSourceConfig:設(shè)置SysTick時鐘源 SysTick_SetReload:設(shè)置SysTick重裝載值 SysTick_CounterCmd:使能或者失能SysTick計(jì)數(shù)器 SysTick_ITConfig:使能或者失能SysTick中斷 SysTick_GetCounter :獲取SysTick計(jì)數(shù)器的值 SysTick_GetFlagStatus:檢查指定的SysTick標(biāo)志位設(shè)置與否 函數(shù)SysTick_CLKSourceConfig 功能描述:設(shè)置SysTick時鐘源 函數(shù)原形:void SysTick_CLKSourceConfig(u32 SysTick_CLKSource) SysTick_CLKSource:SysTick時鐘源 SysTick_CLKSource值: 例:/* AHB clock selected as SysTick clock source */ SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK); 函數(shù)SysTick_SetReload 功能描述:設(shè)置SysTick重裝載值 函數(shù)原形:void SysTick_SetReload(u32 Reload) Reload:重裝載值,該參數(shù)取值必須在1和0x00FFFFFF之間 例: /* Set SysTick reload value to 0xFFFF */ SysTick_SetReload(0xFFFF); 函數(shù)SysTick_CounterCmd 功能描述:使能或者失能SysTick計(jì)數(shù)器 函數(shù)原形: void SysTick_CounterCmd(u32 SysTick_Counter) SysTick_Counter:SysTick計(jì)數(shù)器新狀態(tài) SysTick_Counter值: 例:/* Enable SysTick counter */ SysTick_CounterCmd(SysTick_Counter_Enable); 函數(shù)SysTick_ITConfig 功能描述:使能或者失能SysTick中斷 函數(shù)原形:void SysTick_ITConfig(FunctionalState NewState) NewState:SysTick中斷的新狀態(tài),取ENABLE或者DISABLE 例: /* Enable SysTick interrupt */ SysTick_ITConfig(ENABLE); 函數(shù)SysTick_GetCounter 功能描述:獲取SysTick計(jì)數(shù)器的值 函數(shù)原形:u32 SysTick_GetCounter(void) 返回值:SysTick計(jì)數(shù)器的值 例:/* Get SysTick current counter value */ u32 SysTickCurrentCounterValue; SysTickCurrentCounterValue = SysTick_GetCounter(); 函數(shù)SysTick_GetFlagStatus 功能描述:檢查指定的SysTick標(biāo)志位設(shè)置與否 函數(shù)原形: FlagStatus SysTick_GetFlagStatus(u8 SysTick_FLAG) SysTick_FLAG:待檢查的SysTic標(biāo)志位 SysTick_FLAG值: 例:/* Test if the Count flag is set or not */ FlagStatus Status; Status = SysTick_GetFlagStatus(SysTick_FLAG_COUNT); if(Status == RESET) { ... … } else { ... … } 下面的程序段,讓LED燈1s跳變一次。 void SysTick_Configuration(void) { SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); SysTick->LOAD=900000;//100ms SysTick->CTRL=0x03; //開中斷、啟動計(jì)數(shù) } void SysTick_Handler(void) { num++; if(num == 100) { num = 0; //計(jì)數(shù)器清0 LED (); //LED跳變函數(shù),略。 } } 練習(xí)題六 1.名為TIMx的定時器有()個, 2.定時器都是()位的。 3.通用定時器有()個:()、()、()和()。 4.TIM2-TIM7則掛在()總線上。最高工作頻率是()MHz。 5.高級定時器有()個:()和()。掛在()總線上, 工作頻率在()MHz下。 6.基本定時器有()個: ()和()。主要用于產(chǎn)生DAC觸發(fā)信號,也可當(dāng)做通用的16位時基計(jì)數(shù)器。 7.當(dāng)預(yù)分頻系數(shù)≠1時,TIMxCLK=()MHz;當(dāng)預(yù)分頻系數(shù)=1時,TIMxCLK=()MHz。 8. 定時時間等于()。 9. 系統(tǒng)嘀嗒時鐘是()位的定時器。 10.系統(tǒng)嘀嗒時鐘的時鐘源有兩個: ()和()。 想要定時1s,填寫下面的程序段。 void TIM2_Configuration() { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = (); TIM_TimeBaseStructure.TIM_Prescaler = 3600-1; TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode(); TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); TIM_ClearFlag(TIM2, ()); //清除更新標(biāo)志 TIM_ITConfig(TIM2, (), ()); //開中斷 TIM_Cmd(TIM2, ()); //使能定時器2 } 謝謝!
stm32ppt:這是stm32ppt,包括了何為嵌入式系統(tǒng),嵌入式系統(tǒng)的特點(diǎn)及發(fā)展趨勢,嵌入式系統(tǒng)的開發(fā)過程,如何成為嵌入式開發(fā)人員等內(nèi)容,歡迎點(diǎn)擊下載。
stm32教程PPT:這是stm32ppt,包括了什么是STM32,STM32系列介紹,STM32F10x的兩條產(chǎn)品線,STM32F101 “基本型”系列,STM32F103 “增強(qiáng)型”系列,STM32F103 “增強(qiáng)型”系列,STM32F101 “基本型”系列,STM32 通用平臺,Cortex-M3 處理器,出色的功耗表現(xiàn),USB接口開發(fā)包,支持SRM32的開發(fā)環(huán)境IDE,STM32F10XXX 編程仿真器,STM3210B-EVAL簡介,STM3210B-EVAL功能框圖,STM3210B-EVAL特性等內(nèi)容。新的基于ARM內(nèi)核的32位MCU系列內(nèi)核為ARM公司為要求高性能、低成本、低功 耗的嵌入式應(yīng)用專門設(shè)計(jì)的Cortex-M3內(nèi)核標(biāo)準(zhǔn)的ARM架構(gòu)超前的體系結(jié)構(gòu)高性能低電壓低功耗創(chuàng)新的內(nèi)核以及外設(shè)簡單易用/自由/低風(fēng)險(xiǎn)在32位的FLASH MCU中性能最強(qiáng)整體信號處理方面勝過DSP解決方案出眾的控制和連通性 非常適合低電壓/低功耗的應(yīng)用場合,歡迎點(diǎn)擊下載。
stm32教程PPT課件:這是一個關(guān)于stm32教程PPT課件,包括了什么是STM32,如何開發(fā)STM32,實(shí)例操作等內(nèi)容,ST Cortex-M3 Contents 什么是STM32? 新的基于ARM內(nèi)核的32位MCU系列內(nèi)核為ARM公司為要求高性能、低成本、低功 耗的嵌入式應(yīng)用專門設(shè)計(jì)的Cortex-M3內(nèi)核標(biāo)準(zhǔn)的ARM架構(gòu)超前的體系結(jié)構(gòu)高性能低電壓低功耗創(chuàng)新的內(nèi)核以及外設(shè)簡單易用/自由/低風(fēng)險(xiǎn)。UDIV&SDIV 指令執(zhí)行需要2到12周期,取決與被除數(shù)與除數(shù)兩者越相近指令完成越快指令可以被中斷(丟棄/重啟) Cortex-M3 VS ARM7: 主要參數(shù)比較 Cortex-M3 附加的特性簡化了跟蹤調(diào)試接口的管腳 ,從9腳減少到 2 或 3腳硬件中斷處理不需要匯編代碼綜合的原子位操作改進(jìn)了數(shù)據(jù)存儲 擴(kuò)展的數(shù)據(jù)觀測點(diǎn) & Flash 保護(hù)技術(shù)嵌入式的睡眠控制和掉電模式可選擇的小型的存儲器保護(hù)單元 (MPU) 和 嵌入式跟蹤宏單元 (ETM) 高集成度內(nèi)置式的管理單元減少了對外部器件的需求:上電復(fù)位,低電壓檢測,掉電檢測,帶有獨(dú)立時鐘的看門狗計(jì)時器一個主晶振驅(qū)動整個系統(tǒng)廉價的4-6MHz晶振驅(qū)動CPU,歡迎點(diǎn)擊下載stm32教程PPT課件哦。