日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

stm32單片機中使用GPIO口模擬PWM輸出解析

發(fā)布者:美好的人生最新更新時間:2024-09-11 來源: elecfans關(guān)鍵字:stm32  單片機  GPIO口 手機看文章 掃描二維碼
隨時隨地手機看文章

  STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計的ARM Cortex-M3內(nèi)核(ST‘s product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-bit MCUs up to 32-bit ARM-based Cortex?-M0 and M0+, Cortex?-M3, Cortex?-M4 Flash microcontrollers with a great choice of peripherals. ST has also extended this range to include an ultra-low-power MCU platform)[1] 。按內(nèi)核架構(gòu)分為不同產(chǎn)品:

  其中STM32F系列有:STM32F103“增強型”系列STM32F101“基本型”系列STM32F105、STM32F107“互聯(lián)型”系列


  增強型系列時鐘頻率達到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時鐘頻率為36MHz,以16位產(chǎn)品的價格得到比16位產(chǎn)品大幅提升的性能,是32位產(chǎn)品用戶的最佳選擇。兩個系列都內(nèi)置32K到128K的閃存,不同的是SRAM的最大容量和外設(shè)接口的組合。時鐘頻率72MHz時,從閃存執(zhí)行代碼,STM32功耗36mA,相當(dāng)于0.5mA/MHz。

  gpio

  General Purpose Input Output (通用輸入/輸出)簡稱為GPIO,或總線擴展器,人們利用工業(yè)標(biāo)準I2C、SMBus或SPI接口簡化了I/O口的擴展。當(dāng)微控制器或芯片組沒有足夠的I/O端口,或當(dāng)系統(tǒng)需要采用遠端串行通信或控制時,GPIO產(chǎn)品能夠提供額外的控制和監(jiān)視功能。

  分類:硬件/嵌入開發(fā)驅(qū)動開發(fā)/核心開發(fā)

  每個GPIO端口可通過軟件分別配置成輸入或輸出。Maxim的GPIO產(chǎn)品線包括8端口至28端口的GPIO,提供推挽式輸出或漏極開路輸出。提供微型3mm x 3mm QFN封裝。

  PWM

  PWM控制技術(shù)以其控制簡單,靈活和動態(tài)響應(yīng)好的優(yōu)點而成為電力電子技術(shù)最廣泛應(yīng)用的控制方式,也是人們研究的熱點。由于當(dāng)今科學(xué)技術(shù)的發(fā)展已經(jīng)沒有了學(xué)科之間的界限,結(jié)合現(xiàn)代控制理論思想或?qū)崿F(xiàn)無諧振波開關(guān)技術(shù)將會成為PWM控制技術(shù)發(fā)展的主要方向之一。其根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管基極或MOS管柵極的偏置,來實現(xiàn)晶體管或MOS管導(dǎo)通時間的改變,從而實現(xiàn)開關(guān)穩(wěn)壓電源輸出的改變。這種方式能使電源的輸出電壓在工作條件變化時保持恒定,是利用微處理器的數(shù)字信號模擬電路進行控制的一種非常有效的技術(shù)。

  stm32單片機中使用GPIO口模擬PWM輸出解析

  stm32單片機中使用GPIO口模擬PWM輸出解析

  使用了STM32F10364引腳的MCU,在硬件設(shè)計中,因為外設(shè)較多,導(dǎo)致每個通用定時器至少有兩個PWM輸出引腳被占用,現(xiàn)在要控制RGB燈,只能用一個普通IO引腳模擬PWM輸出。

  相關(guān)的硬件電路設(shè)置如下:

  GPIOA1------------------------------RGBBLUE燈

  GPIOB1------------------------------RGBGREEN燈

  GPIOD2------------------------------RGBRED燈

  RGB燈采用了共陽極電路,所以在PWM的輸出急性設(shè)置時,將極性設(shè)置為高電平,定時器的初始化如下圖所示:

  void initLedTimer( void ){

  TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

  TIM_OCInitTypeDef TIM_OCInitStructure;

  TIM_DeInit( TIM2 );

  TIM_TimeBaseStructInit(&TIM_TimeBaseStructure );

  TIM_TimeBaseStructure.TIM_Period =TIMER_PERIOD;

  TIM_TimeBaseStructure.TIM_Prescaler =TIMER_PRESCALER;

  TIM_TimeBaseStructure.TIM_ClockDivision= TIM_CKD_DIV1; // 不分頻

  TIM_TimeBaseStructure.TIM_CounterMode =TIM_CounterMode_Up;

  TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);

  TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);

  TIM_OCStructInit(&TIM_OCInitStructure );

  TIM_OCInitStructure.TIM_OCMode =TIM_OCMode_PWM2;

  TIM_OCInitStructure.TIM_OutputState =TIM_OutputState_Disable;

  TIM_OCInitStructure.TIM_Pulse =DEFAULT_DUTY_CYCLE;

  TIM_OCInitStructure.TIM_OCPolarity =TIM_OCPolarity_High;

  //

  TIM_OC1Init(TIM2,&TIM_OCInitStructure);

  //

  TIM_OC1PreloadConfig(TIM2,TIM_OCPreload_Enable);

  //

  TIM_OC2Init(TIM2,&TIM_OCInitStructure);

  //

  TIM_OC2PreloadConfig(TIM2,TIM_OCPreload_Enable);

  //

  TIM_OC3Init(TIM3,&TIM_OCInitStructure);

  //

  TIM_OC3PreloadConfig(TIM3,TIM_OCPreload_Enable);

  //

  TIM_OC4Init(TIM3,&TIM_OCInitStructure);

  //

  TIM_OC4PreloadConfig(TIM3,TIM_OCPreload_Enable);

  //

  TIM_OCStructInit(&TIM_OCInitStructure );

  TIM_OCInitStructure.TIM_OCMode =TIM_OCMode_Timing;

  TIM_OCInitStructure.TIM_Pulse =DEFAULT_DUTY_CYCLE;

  //

  TIM_OC2Init(TIM3,&TIM_OCInitStructure);

  //

  TIM_OC2PreloadConfig(TIM3,TIM_OCPreload_Enable);

  // ARR重裝載使能

  TIM_ARRPreloadConfig(TIM2,ENABLE);

  TIM_ARRPreloadConfig(TIM3,ENABLE);

  //

  TIM_ClearITPendingBit( TIM2,TIM_IT_Update );

  TIM_ClearITPendingBit( TIM3,TIM_IT_Update | TIM_IT_CC2 );

  //定時器2和3中斷使能

  TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);

  TIM_ITConfig(TIM3,TIM_IT_Update |TIM_IT_CC2, ENABLE);

  }

  輸出極性為高電平的意思就是說,假如說占空比為20%,那么他表示,低電平占整個周期20%的時間,反之如果設(shè)置極性為低電平,那么表示高電平占用整個周期的20%。

  如何用GPIOD2模擬PWM波形呢? 關(guān)鍵的地方就是同時必須使用定時器中斷


關(guān)鍵字:stm32  單片機  GPIO口 引用地址:stm32單片機中使用GPIO口模擬PWM輸出解析

上一篇:STM32串口的發(fā)送和接收
下一篇:請問一下STM32管腳重映射支持任意組合嗎?

推薦閱讀最新更新時間:2025-07-10 13:57

STM32單片機架構(gòu)詳解
今天打算繼續(xù)總結(jié)stm32單片機的基礎(chǔ)知識,鞏固基礎(chǔ)。這里呢,聲明一下,《stm32單片機基礎(chǔ)知識總結(jié)》主要基于stm32f1及stm32f4兩個系列來做的。原因是stm32f1系列是Cortex-M3內(nèi)核 ,stm32f4系列是基于Cortex-M4內(nèi)核。我在項目開發(fā)中,主要用到了這兩個系列的片子,所以算是對自己知識的一個鞏固。另外,知識都是相通的。所以如果理解了這兩種架構(gòu),那么如果需要的話,我們也能夠快速地去學(xué)習(xí)其他的系統(tǒng)架構(gòu)。 一、STM32單片機架構(gòu) 通過兩張圖片來對Cortex-M3 和Cortex-M4兩個內(nèi)核資源進行一個對比。 通過對此,我們可以看到有這樣幾個不同之處: M4具有單精度浮點運算單元,F(xiàn)1
[單片機]
<font color='red'>STM32</font><font color='red'>單片機</font>架構(gòu)詳解
基于STM32單片機的盆栽系統(tǒng)設(shè)計
一.系統(tǒng)設(shè)計 本次盆栽系統(tǒng)的設(shè)計使用STM32單片機作為控制中心,通過光敏模塊檢測光照強度,通過DHT11測量溫濕度,通過土壤濕度傳感器檢測土壤濕度,檢測到的數(shù)據(jù)通過LCD顯示屏顯示,當(dāng)土壤濕度低于下限時,繼電器控制灌溉,當(dāng)土壤濕度高于上限時,繼電器控制除濕,當(dāng)溫度低于閾值時,繼電器控制加熱,當(dāng)光強低于閾值時,繼電器控制補光。 圖1 系統(tǒng)框圖 二.硬件設(shè)計 本設(shè)計所采用的STM32F103C8T6是以Cortex-3為核心的單片機,它的功能是實現(xiàn)軟件的執(zhí)行,并對外部的器件、模塊進行控制。該系統(tǒng)由LCD顯示模塊,溫濕度檢測模塊,光敏電阻模塊,濕度檢測模塊,繼電器模塊組成。 圖2 硬件電路 三.軟件設(shè)計 系統(tǒng)的軟件實現(xiàn)過程中首
[單片機]
基于<font color='red'>STM32</font><font color='red'>單片機</font>的盆栽系統(tǒng)設(shè)計
STM32單片機如何進行中斷調(diào)試
1、基本的GPIO配置,注意,因為需要用到普通IO口作為中斷輸入口,因此是用了IO口德復(fù)用功能,因此必須打開RCC_APB2Periph_AFIO時鐘,負責(zé)復(fù)用IO無效。 2、IO口復(fù)用功能映射 3、嵌套中斷向量配置 調(diào)試發(fā)現(xiàn)這幾句話是必須要的,不然不能產(chǎn)生中斷?。?! NVIC_IRQChannel 這里的值需要注意一下,與固件庫給出的值不符??!定義在stm32f103x.h頭文件中。 4、外部中斷/事件配置 5、在stm32f10x_it.c中添加中斷處理函數(shù),函數(shù)名稱格式為(PPP代表中斷名稱) 函數(shù)名稱在startup_stm32f10x_xx.s中尋找。 記得還需要在stm32f10x_it
[單片機]
<font color='red'>STM32</font><font color='red'>單片機</font>如何進行中斷調(diào)試
STM32單片機(1) 總記 學(xué)習(xí)資料+參考手冊+LED燈
學(xué)習(xí)資料 視頻教程 李想stm32視頻教程49集 http://pan.baidu.com/s/1kTyt03P 原子教你玩STM32 http://pan.baidu.com/s/1gd25r6F 劉洋STM32(好) http://pan.baidu.com/s/1mgkeNsG http://www.iqiyi.com/u/1005856393 http://yun.baidu.com/share/home?uk=2853967793 http://www.zxkjmcu.com/ 參考文檔 STM32的函數(shù)說明(中文).pdf http://download.csdn.net/detail/ley
[單片機]
單片機串口處理獲得的經(jīng)驗(stm32
最近搞了一個stm32串口數(shù)據(jù)幀批處理代碼,遇到了很多問題,作為剛工作的我,經(jīng)驗太缺乏,實在是需要總結(jié)一番,以避免以后再出現(xiàn)同樣的錯誤。 大致情況羅列如下: 1、串口接收中斷處理 在學(xué)校的時候根本沒有接觸過什么循環(huán)處理的方法,到現(xiàn)在我也講不上來這個方法的名字是什么,反正自己會運用了。大致的情況是環(huán)形數(shù)組處理,代碼如下: //====================== 接收數(shù)據(jù)中斷 if( USART_GetITStatus( COM_USARTx, USART_IT_RXNE ) != RESET ) { if( COM_Rx_Sign == 1 )
[單片機]
基于STM32微控制器處理先進電機控制方法
???變頻器的問世和先進的電機控制方法讓三相無刷電機(交流感應(yīng)電機或永磁同步電機)曾經(jīng)在調(diào)速應(yīng)用領(lǐng)域取得巨大成功。這些高性能的電機驅(qū)動器過去主要用于工廠自動化系統(tǒng)和機器人。十年來,電子元器件的大幅降價使得這些電機驅(qū)動器能夠進入對成本敏感的市場,例如:家電、空調(diào)或個人醫(yī)療設(shè)備。本文將探討基于ARM的標(biāo)準微控制器如何在一個被DSP和FPGA長期壟斷的市場上打破復(fù)雜的控制模式,我們將以意法半導(dǎo)體的基于Cortex-M3 內(nèi)核的STM32系列微控制器為例論述這個過程。 ?? ?首先,我們回顧一下電機控制的基本原理。在電機控制系統(tǒng)內(nèi),為什么處理器非常重要?我們?yōu)槭裁葱枰浅:玫挠嬎阈阅埽慨吘?,Nicolas Tesla在一個世紀前發(fā)明交流電機
[嵌入式]
ST新開發(fā)環(huán)境極大降低STM32微控制器的使用門檻
意法半導(dǎo)體(紐約證券交易所代碼:STM)發(fā)布一套價格極低的開發(fā)環(huán)境,讓更多的開發(fā)人員有機會使用意法半導(dǎo)體針對嵌入式應(yīng)用專門研制、采用ARM Cortex-M3處理器內(nèi)核的STM32系列微控制器。 新的開發(fā)環(huán)境整合Atollic TrueSTUDIO?/STM32開發(fā)工具和意法半導(dǎo)體的ST-LINK調(diào)試器,前者可以從網(wǎng)站免費下載,無使用代碼量或使用時間限制;后者通過USB端口可連接到目標(biāo)微控制器。對于初期投資很小的項目,花費很少即可擁有ST-LINK,因此嘗試性和小批量的產(chǎn)品概念的各種初始設(shè)計,均能受益于STM32系列微控制器的高性能、低功耗和豐富功能,方便選擇STM32系列70多款軟件、引腳和外設(shè)相互兼容的產(chǎn)品
[單片機]
ST新開發(fā)環(huán)境極大降低<font color='red'>STM32</font><font color='red'>微控制器</font>的使用門檻
stm32固件庫之LED(DISCO F407VG)
//引腳定義 /*******************************************************/ //R 紅色燈 #define LED1_PIN GPIO_Pin_14 #define LED1_GPIO_PORT GPIOD #define LED1_GPIO_CLK RCC_AHB1Periph_GPIOD //G 綠色燈 #define LED2_PIN GPIO_Pin_12 #define LED2_GPIO_PORT GPIOD #defi
[單片機]
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved