色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發(fā)燒友App

硬聲App

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

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

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

電子發(fā)燒友網(wǎng)>LEDs>LED照明>紫外LED - 猴年走進(jìn)“多彩”的LED世界

紫外LED - 猴年走進(jìn)“多彩”的LED世界

上一頁123下一頁全文

本文導(dǎo)航

收藏

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

評論

查看更多

相關(guān)推薦

LED產(chǎn)品應(yīng)用大突破 創(chuàng)意設(shè)計盤點

其實除了平常所見毫無亮點的應(yīng)用外,還有很多別具一格的創(chuàng)意應(yīng)用,下面帶你走進(jìn)LED另類應(yīng)用的世界
2014-09-10 09:05:011150

美輪美奐 家居創(chuàng)意LED燈產(chǎn)品

美輪美奐 家居創(chuàng)意LED燈產(chǎn)品,這是一系列創(chuàng)意家居用品LED燈,有了它們,會讓我們的生活更加豐富多彩,一起來欣賞下吧。
2011-11-30 17:19:411902

LED——世界未來之光

字。Sharenow說,相當(dāng)于60W的LED燈泡上市后,Switch相當(dāng)于75W白熾燈的LED將會在11月上市,100W的模型將在2012年2月份發(fā)布。Sharenow 說:“這些燈泡終將改變世界!”
2011-09-23 16:29:14

世界著名的HiFi功放都有哪些?

世界著名的HiFi功放都有哪些?
2022-03-28 11:26:27

走進(jìn)MEasy的世界:基于STM32MP1的IOT參考設(shè)計

`走進(jìn)MEasy的世界:基于STM32MP1的IOT參考設(shè)計 在萬物互聯(lián)快速發(fā)展的趨勢下,板卡處理器性能、內(nèi)存大小、接口外設(shè)等都是人們非常關(guān)心的硬件參數(shù),但是如何讓硬件的作用實現(xiàn)它的功能最大化,一套
2020-02-24 15:46:30

走進(jìn)嵌入式

零基礎(chǔ)要怎么樣學(xué)習(xí)嵌入式希望可以通過這一篇帖子讓大家走進(jìn)嵌入式,對嵌入式的學(xué)習(xí)不再那么陌生。嵌入式Linux工程師的學(xué)習(xí)需要具備一定的C語言基礎(chǔ),因此面對許多朋友只是在大一或者大二學(xué)習(xí)過C(還不
2022-02-23 07:29:56

Accessory Shield學(xué)習(xí)4:多彩LED

學(xué)會了如何發(fā)聲,下來就要開始學(xué)如何發(fā)光;雖然一開始在按鍵掃描那章有看到LED閃爍,但,,,,那真的太簡單了。本章我們學(xué)習(xí)高大上的多彩LED。原理大放送:多彩LED又稱為RGB燈,內(nèi)置紅(R)、綠(G
2016-03-28 14:49:55

BakeBit - LED-Bar+ Light Sensor,完成外界亮度控制led燈效果

BakeBit - LED-Bar是一個多彩led模塊,模塊使用了五個內(nèi)部集成了Ws2812控制芯片的多彩LED,每個LED內(nèi)部有R、G、B三個發(fā)光二極管。Ws2812控制芯片串行讀取控制信號,并從
2017-02-21 17:45:01

HBO超現(xiàn)實VR體驗帶你走進(jìn)西部世界 年度最期待的情景模式與現(xiàn)實世界的結(jié)合!

祝我們逛得開心。  下午2點30分,我舒服地坐在《西部世界》展臺的沙發(fā)上,服務(wù)員走過來,陪我走進(jìn)這段神秘的虛擬現(xiàn)實體驗。她的做法就像是,《西部世界》是真實的存在,而不是電視劇。  她再次與我確認(rèn),我
2016-10-24 10:57:50

HarmonyOS IoT首著,走進(jìn)萬物互聯(lián)的世界

無邊際的設(shè)備網(wǎng)絡(luò),除了手機(jī),還包括平板、電視和海量可穿戴設(shè)備。為了讓廣大技術(shù)開發(fā)者由淺入深,逐步構(gòu)建HarmonyOS(鴻蒙操作系統(tǒng))硬件知識體系,實現(xiàn)IoT設(shè)備開發(fā),讓鴻蒙系統(tǒng)更快地走進(jìn)萬物互聯(lián)
2021-06-16 16:45:05

HarmonyOS IoT首著,走進(jìn)萬物互聯(lián)的世界

無邊際的設(shè)備網(wǎng)絡(luò),除了手機(jī),還包括平板、電視和海量可穿戴設(shè)備。為了讓廣大技術(shù)開發(fā)者由淺入深,逐步構(gòu)建HarmonyOS(鴻蒙操作系統(tǒng))硬件知識體系,實現(xiàn)IoT設(shè)備開發(fā),讓鴻蒙系統(tǒng)更快地走進(jìn)萬物互聯(lián)的世界
2021-06-16 17:08:43

PSoC 4試用+第一個項目:PWM控制多彩LED輸出

,做了一個LED多彩燈!把我用的文檔也分享給大家吧!其實官網(wǎng)上都有!使用心得:總體感覺有很多東西都不需要你自己去寫!比如PWM,電路搭建好后它會自動給你生成程序文件!CLOCK也是一樣!感覺和STM32
2013-10-18 00:13:45

SH381同步多彩LED驅(qū)動集成電路相關(guān)資料分享

SH-381它采用DIP-8與SOP-8兩種封裝形式。是采用CMOS工藝制造的三路多模式多彩同步LED閃光集成電路,配合高亮度紅、綠、藍(lán)色發(fā)光二極管可產(chǎn)生絢麗多彩的變色光效果。
2021-04-28 06:14:21

labview學(xué)習(xí)走進(jìn)盲區(qū),期待您的指點

學(xué)習(xí)labview斷斷續(xù)續(xù)將近一個月了,基礎(chǔ)知識都學(xué)習(xí)了一遍,現(xiàn)在開始看別人的程序以及一些高級編程的書籍,感覺還有好多好多都不懂,就是那種高深點不懂,基礎(chǔ)的一看就會的狀態(tài)。感覺現(xiàn)在的學(xué)習(xí)走進(jìn)了盲區(qū),希望高手們結(jié)合以前的學(xué)習(xí)過程指點下在下,感激不盡!
2013-04-06 22:34:13

“數(shù)字世界”基本的工作原理

而且可以不依賴人類自身的可以自動運(yùn)行的數(shù)字世界,而計算機(jī)則是這個數(shù)字世界的基石。隨著計算機(jī)應(yīng)用的普及和深入,這個數(shù)字世界的能力越來越強(qiáng)大,形式也越來越豐富多彩。所以,計算機(jī)的誕生意味著現(xiàn)代意義下完
2020-07-06 08:34:53

《從零開始走進(jìn)FPGA世界》中的流水燈程序是不是錯了啊?

首先clk_design.v 模塊產(chǎn)生的使能時鐘頻率不是10Hz,其次led_display.v 模塊的遞增方式也無法產(chǎn)生流水燈效果啊?
2015-08-20 09:40:39

【GoKit申請】多彩智能云燈

本帖最后由 andy_wsj 于 2015-4-27 11:31 編輯 項目名稱:多彩智能云燈市場觀察: wifi聯(lián)網(wǎng)控制的LED最早的項目查到出現(xiàn)在澳大利亞,是一款比較新穎的產(chǎn)品。 市面常見
2015-04-27 11:26:22

【VEML6040環(huán)境顏色檢測試用體驗】感受多彩世界——Vishay VEML6040 環(huán)境顏色檢測開發(fā)套件評測一

感受多彩世界——Vishay VEML6040 環(huán)境顏色檢測開發(fā)套件評測近日,世平集團(tuán)推出基于Vishay VEML 6040 ,藝術(shù)感超強(qiáng)的環(huán)境顏色檢測方案。此方案包含了Vishay 公司
2017-03-25 12:41:24

【廣東龍芯2K500先鋒板試用體驗】點亮RGB多彩發(fā)光板

LED很相似。1.2 龍芯2K0500開發(fā)板龍芯2K0500開發(fā)板的IO擴(kuò)展口上預(yù)留了PWM的引腳,具體如下圖:這里使用PWM0、PWM1、PWM2三個引腳連接到多彩發(fā)光板,連接關(guān)系如下:10號針
2023-01-30 19:08:15

什么是“PSoC世界

你好朋友們,我正在張貼一個視頻鏈接,它將簡要地介紹什么是“PSoC世界”。http://Visual.CyPress .com /視頻庫/搜索/PSoC+世界/我想發(fā)布許多其他的視頻鏈接,促進(jìn)
2019-07-24 06:51:32

從零開始走進(jìn)FPGA-例程匯總

從零開始走進(jìn)FPGA-例程匯總
2013-08-27 10:03:03

從零開始走進(jìn)FPGA世界

從零開始走進(jìn)FPGA世界
2020-03-12 13:11:17

從零開始走進(jìn)FPGA世界 V2.0【轉(zhuǎn)】

` 本帖最后由 普萊斯隊長 于 2013-3-3 09:07 編輯 從零開始走進(jìn)FPGA,總結(jié)我大學(xué)FPGA所學(xué),并不能把您帶到多高的深度,只為將您帶進(jìn)FPGA世界,希望能給你一點幫助,有
2012-08-10 11:03:44

你好,放大器 ~帶你走進(jìn)運(yùn)放的世界 快速上手設(shè)計運(yùn)放電路

你好,放大器 ~帶你走進(jìn)運(yùn)放的世界 快速上手設(shè)計運(yùn)放電路
2015-11-20 21:19:58

分析一線公司當(dāng)前產(chǎn)品,看LED世界走向

分析一線公司當(dāng)前產(chǎn)品,看LED世界走向
2021-06-01 07:08:32

廈門多彩光電子科技有限公司招聘LED技術(shù)員

針對客戶提出的各參數(shù)做出相應(yīng)的配比; 3.對新的原材料進(jìn)行試驗,降低成本等!職位要求1、國家重點大學(xué)理工科專業(yè)畢業(yè)或有LED行業(yè)相關(guān)工作經(jīng)驗一年以上; 2、能吃苦耐勞,為人誠肯、好學(xué);廈門多彩
2013-09-24 09:55:38

帶你走進(jìn)STM32的世界

STM32F10xx時鐘系統(tǒng)框圖:時鐘是整個系統(tǒng)的脈搏下圖是STM32F10xx時鐘系統(tǒng)的框圖,通過這個圖可以一目了然地看到各個部件時鐘產(chǎn)生的路徑,還可以很方便地計算出各部分的時鐘頻率。STM32的四個時鐘源(HSI、HSE、LSI和LSE)也在圖中標(biāo)出;圖中間的時鐘監(jiān)視系統(tǒng)(CSS)是在很多ST7的單片機(jī)中就出現(xiàn)的安全設(shè)置。特別注意:圖的右邊,輸出定時器時鐘之前有一個乘法器,它的操作不是由程序控制的,是由硬件根據(jù)前一級的APB預(yù)分頻器的輸出自動選擇,當(dāng)APB預(yù)分頻器的分頻因子為1時,這個乘法器無作用;當(dāng)APB預(yù)分頻器的分頻因子大于1時,這個乘法器做倍頻操作,即將APB預(yù)分頻器輸出的頻率乘2,這樣可以保證定時器可以得到最高的72MHz時鐘脈沖。STM32上很多管腳功能可以重新映射STM32上有很多I/O口,也有很多的內(nèi)置外設(shè),為了節(jié)省引出管腳,這些內(nèi)置外設(shè)都是與I/O口共用引出管腳,ST稱其為I/O管腳的復(fù)用功能,相信這點大家都很清楚,因為基本上所有單片機(jī)都是這么做的。但不知有多少人知道,很多復(fù)用功能的引出腳可以通過重映射,從不同的I/O管腳引出,即復(fù)用功能的引出腳位是可通過程序改變的。這一功能的直接好處是,PCB電路板的設(shè)計人員可以在需要的情況下,不必把某些信號在板上繞一大圈完成聯(lián)接,方便了PCB的設(shè)計同時潛在地減少了信號的交叉干擾。復(fù)用功能引出腳的重映射功能所帶來的潛在好處是,在你不需要同時使用多個復(fù)用功能時,虛擬地增加復(fù)用功能的數(shù)量。例如,STM32上最多有3個USART接口,當(dāng)你需要更多UART接口而又不需要同時使用它們時,可以通過這個重映射功能實現(xiàn)更多的UART接口。下述復(fù)用功能的引出腳具有重映射功能:- 晶體振蕩器的引腳在不接晶體時,可以作為普通I/O口- CAN模塊- JTAG調(diào)試接口- 大部分定時器的引出接口- 大部分USART的引出接口- I2C1的引出接口- SPI1的引出接口詳細(xì)內(nèi)容請看STM32的技術(shù)參考手冊。請務(wù)必記住:如果使用了任意一種重映射功能,在初始化和使用之前,一定要打開AFIO時鐘。下圖示出了部分復(fù)用功能引出腳的重映射結(jié)果:【演示實例】一個在EK-STM32F板子上的RTC作為calender的例子硬件連接:串口線連至板子的UART-0端口。超級終端設(shè)置為:Bits Per seconds: 115200Data bits: 8Parity: noneStop bits: 1Flow control Hardware板子第一次跑這個程序時,進(jìn)入時間配置。根據(jù)超級終端上的提示,一次輸入年,月,日,時,分,秒(1月就輸入01,10月直接輸入10;同理3號就輸入03)隨后當(dāng)前的時間就顯示到了超級終端上,并且每秒刷新。沒有斷電的情況下再跑這個程序,由于看到bake up區(qū)域有被設(shè)置過時間的標(biāo)志,不再進(jìn)入時間設(shè)置階段,而是直接到時間顯示間斷,在超級終端上,每秒刷新。當(dāng)然如果在EK-STM32F板子上將Vbat和電池相接,具體就是:將紅色的電源跳線帽中的從下往上數(shù)的第5個取下,從原來的水平放置改成豎直放置(和上面的VBAT相連)。就算斷電,只要再上電,看到back up區(qū)域中的記號,一樣直接進(jìn)入時間顯示。因為斷電后,back up區(qū)域由電池供電,其中記錄的記號不會由于系統(tǒng)掉電而消失。【演示實例】使用EK-STM32F板測量STM32的功耗這個例子演示了如何使用EK-STM32F開發(fā)評估板測量STM32F103VBT6在各種模式下的功耗。例子中演示了如何進(jìn)入STM32的各種模式(RUN、SLEEP、STOP、STANDBY),使用這個例子您可以通過EK-STM32F板上的紅色跳線(VDD、VREF+和VDDA)測量功耗。本實例首先通過UART與Windows的Hyperterminal通信,用戶可以選擇需要進(jìn)入的功耗模式,然后這個例程把用戶選好的配置存到后備寄存器,再次復(fù)位后STM32將進(jìn)入之前選定的模式。附件包中包含了一個說明文件,詳細(xì)說明了如何設(shè)置板上的跳線和操作的過程。STM32 GPIO的十大優(yōu)越功能綜述前幾天Hotpower邀請大家討論一下GPIO的功能、性能和優(yōu)缺點(STM32的GPIO很強(qiáng)大~~~),等了幾天沒見太多人發(fā)言,但綜合來看提到了3點:1)真雙向IO,2)速度快,3)寄存器功能重復(fù)。關(guān)于第3點有說好,有說多余的,見仁見智。下面我就在做個拋磚引玉,根據(jù)ST手冊上的內(nèi)容,簡單地綜述一下GPIO的功能:一、共有8種模式,可以通過編程選擇:1. 浮空輸入2. 帶上拉輸入3. 帶下拉輸入4. 模擬輸入5. 開漏輸出——(此模式可實現(xiàn)hotpower說的真雙向IO)6. 推挽輸出7. 復(fù)用功能的推挽輸出8. 復(fù)用功能的開漏輸出模式7和模式8需根據(jù)具體的復(fù)用功能決定。二、專門的寄存器(GPIOx_BSRR和GPIOx_BRR)實現(xiàn)對GPIO口的原子操作,即回避了設(shè)置或清除I/O端口時的“讀-修改-寫”操作,使得設(shè)置或清除I/O端口的操作不會被中斷處理打斷而造成誤動作。三、每個GPIO口都可以作為外部中斷的輸入,便于系統(tǒng)靈活設(shè)計。四、I/O口的輸出模式下,有3種輸出速度可選(2MHz、10MHz和50MHz),這有利于噪聲控制。五、所有I/O口兼容CMOS和TTL,多數(shù)I/O口兼容5V電平。六、大電流驅(qū)動能力:GPIO口在高低電平分別為0.4V和VDD-0.4V時,可以提供或吸收8mA電流;如果把輸入輸出電平分別放寬到1.3V和VDD-1.3V時,可以提供或吸收20mA電流。七、具有獨(dú)立的喚醒I/O口。八、很多I/O口的復(fù)用功能可以重新映射,見:你知道嗎?STM32上很多管腳功能可以重新映射。九、GPIO口的配置具有上鎖功能,當(dāng)配置好GPIO口后,可以通過程序鎖住配置組合,直到下次芯片復(fù)位才能解鎖。此功能非常有利于在程序跑飛的情況下保護(hù)系統(tǒng)中其他的設(shè)備,不會因為某些I/O口的配置被改變而損壞——如一個輸入口變成輸出口并輸出電流。十、輸出模式下輸入寄存器依然有效,在開漏配置模式下實現(xiàn)真正的雙向I/O功能。STM32內(nèi)置參照電壓的使用每個STM32芯片都有一個內(nèi)部的參照電壓,相當(dāng)于一個標(biāo)準(zhǔn)電壓測量點,在芯片內(nèi)部連接到ADC1的通道17。根據(jù)數(shù)據(jù)手冊中的數(shù)據(jù),這個參照電壓的典型值是1.20V,最小值是1.16V,最大值是1.24V。這個電壓基本不隨外部供電電壓的變化而變化。不少人把這個參照電壓與ADC的參考電壓混淆。ADC的參考電壓都是通過Vref+提供的。100腳以上的型號,Vref+引到了片外,引腳名稱為Vref+;64腳和小于64腳的型號,Vref+在芯片內(nèi)部與VCC信號線相連,沒有引到片外,這樣AD的參考電壓就是VCC上的電壓。在ADC的外部參考電壓波動,或因為Vref+在芯片內(nèi)部與VCC相連而VCC變化的情況下,如果對于ADC測量的準(zhǔn)確性要求不高時,可以使用這個內(nèi)部參照電壓得到ADC測量的電壓值。具體方法是在測量某個通道的電壓值之前,先讀出參照電壓的ADC測量數(shù)值,記為ADrefint;再讀出要測量通道的ADC轉(zhuǎn)換數(shù)值,記為ADchx;則要測量的電壓為:Vchx = Vrefint * (ADchx/ADrefint)其中Vrefint為參照電壓=1.20V。上述方法在使用內(nèi)置溫度傳感器對因為溫度變化,對系統(tǒng)參數(shù)進(jìn)行補(bǔ)償時就十分有效。STM32的ADC輸入通道配置STM32中最多有3個ADC模塊,每個模塊對應(yīng)的通道不完全重疊。下圖是STM32F103CDE數(shù)據(jù)手冊中的總框圖的左下角,圖中可以看出有8個外部ADC管腳分別接到了3個ADC模塊,有8個外部ADC管腳只分別接到了2個ADC模塊,還有5個外部ADC管腳只接到了ADC3模塊,這樣總共是21個通道。
2017-08-07 14:19:52

帶你走進(jìn)STM32的世界

STM32F10xx時鐘系統(tǒng)框圖:時鐘是整個系統(tǒng)的脈搏下圖是STM32F10xx時鐘系統(tǒng)的框圖,通過這個圖可以一目了然地看到各個部件時鐘產(chǎn)生的路徑,還可以很方便地計算出各部分的時鐘頻率。STM32的四個時鐘源(HSI、HSE、LSI和LSE)也在圖中標(biāo)出;圖中間的時鐘監(jiān)視系統(tǒng)(CSS)是在很多ST7的單片機(jī)中就出現(xiàn)的安全設(shè)置。特別注意:圖的右邊,輸出定時器時鐘之前有一個乘法器,它的操作不是由程序控制的,是由硬件根據(jù)前一級的APB預(yù)分頻器的輸出自動選擇,當(dāng)APB預(yù)分頻器的分頻因子為1時,這個乘法器無作用;當(dāng)APB預(yù)分頻器的分頻因子大于1時,這個乘法器做倍頻操作,即將APB預(yù)分頻器輸出的頻率乘2,這樣可以保證定時器可以得到最高的72MHz時鐘脈沖。STM32上很多管腳功能可以重新映射STM32上有很多I/O口,也有很多的內(nèi)置外設(shè),為了節(jié)省引出管腳,這些內(nèi)置外設(shè)都是與I/O口共用引出管腳,ST稱其為I/O管腳的復(fù)用功能,相信這點大家都很清楚,因為基本上所有單片機(jī)都是這么做的。但不知有多少人知道,很多復(fù)用功能的引出腳可以通過重映射,從不同的I/O管腳引出,即復(fù)用功能的引出腳位是可通過程序改變的。這一功能的直接好處是,PCB電路板的設(shè)計人員可以在需要的情況下,不必把某些信號在板上繞一大圈完成聯(lián)接,方便了PCB的設(shè)計同時潛在地減少了信號的交叉干擾。復(fù)用功能引出腳的重映射功能所帶來的潛在好處是,在你不需要同時使用多個復(fù)用功能時,虛擬地增加復(fù)用功能的數(shù)量。例如,STM32上最多有3個USART接口,當(dāng)你需要更多UART接口而又不需要同時使用它們時,可以通過這個重映射功能實現(xiàn)更多的UART接口。下述復(fù)用功能的引出腳具有重映射功能:- 晶體振蕩器的引腳在不接晶體時,可以作為普通I/O口- CAN模塊- JTAG調(diào)試接口- 大部分定時器的引出接口- 大部分USART的引出接口- I2C1的引出接口- SPI1的引出接口詳細(xì)內(nèi)容請看STM32的技術(shù)參考手冊。請務(wù)必記住:如果使用了任意一種重映射功能,在初始化和使用之前,一定要打開AFIO時鐘。下圖示出了部分復(fù)用功能引出腳的重映射結(jié)果:【演示實例】一個在EK-STM32F板子上的RTC作為calender的例子硬件連接:串口線連至板子的UART-0端口。超級終端設(shè)置為:Bits Per seconds: 115200Data bits: 8Parity: noneStop bits: 1Flow control Hardware板子第一次跑這個程序時,進(jìn)入時間配置。根據(jù)超級終端上的提示,一次輸入年,月,日,時,分,秒(1月就輸入01,10月直接輸入10;同理3號就輸入03)隨后當(dāng)前的時間就顯示到了超級終端上,并且每秒刷新。沒有斷電的情況下再跑這個程序,由于看到bake up區(qū)域有被設(shè)置過時間的標(biāo)志,不再進(jìn)入時間設(shè)置階段,而是直接到時間顯示間斷,在超級終端上,每秒刷新。當(dāng)然如果在EK-STM32F板子上將Vbat和電池相接,具體就是:將紅色的電源跳線帽中的從下往上數(shù)的第5個取下,從原來的水平放置改成豎直放置(和上面的VBAT相連)。就算斷電,只要再上電,看到back up區(qū)域中的記號,一樣直接進(jìn)入時間顯示。因為斷電后,back up區(qū)域由電池供電,其中記錄的記號不會由于系統(tǒng)掉電而消失。【演示實例】使用EK-STM32F板測量STM32的功耗這個例子演示了如何使用EK-STM32F開發(fā)評估板測量STM32F103VBT6在各種模式下的功耗。例子中演示了如何進(jìn)入STM32的各種模式(RUN、SLEEP、STOP、STANDBY),使用這個例子您可以通過EK-STM32F板上的紅色跳線(VDD、VREF+和VDDA)測量功耗。本實例首先通過UART與Windows的Hyperterminal通信,用戶可以選擇需要進(jìn)入的功耗模式,然后這個例程把用戶選好的配置存到后備寄存器,再次復(fù)位后STM32將進(jìn)入之前選定的模式。附件包中包含了一個說明文件,詳細(xì)說明了如何設(shè)置板上的跳線和操作的過程。STM32 GPIO的十大優(yōu)越功能綜述前幾天Hotpower邀請大家討論一下GPIO的功能、性能和優(yōu)缺點(STM32的GPIO很強(qiáng)大~~~),等了幾天沒見太多人發(fā)言,但綜合來看提到了3點:1)真雙向IO,2)速度快,3)寄存器功能重復(fù)。關(guān)于第3點有說好,有說多余的,見仁見智。下面我就在做個拋磚引玉,根據(jù)ST手冊上的內(nèi)容,簡單地綜述一下GPIO的功能:一、共有8種模式,可以通過編程選擇:1. 浮空輸入2. 帶上拉輸入3. 帶下拉輸入4. 模擬輸入5. 開漏輸出——(此模式可實現(xiàn)hotpower說的真雙向IO)6. 推挽輸出7. 復(fù)用功能的推挽輸出8. 復(fù)用功能的開漏輸出模式7和模式8需根據(jù)具體的復(fù)用功能決定。二、專門的寄存器(GPIOx_BSRR和GPIOx_BRR)實現(xiàn)對GPIO口的原子操作,即回避了設(shè)置或清除I/O端口時的“讀-修改-寫”操作,使得設(shè)置或清除I/O端口的操作不會被中斷處理打斷而造成誤動作。三、每個GPIO口都可以作為外部中斷的輸入,便于系統(tǒng)靈活設(shè)計。四、I/O口的輸出模式下,有3種輸出速度可選(2MHz、10MHz和50MHz),這有利于噪聲控制。五、所有I/O口兼容CMOS和TTL,多數(shù)I/O口兼容5V電平。六、大電流驅(qū)動能力:GPIO口在高低電平分別為0.4V和VDD-0.4V時,可以提供或吸收8mA電流;如果把輸入輸出電平分別放寬到1.3V和VDD-1.3V時,可以提供或吸收20mA電流。七、具有獨(dú)立的喚醒I/O口。八、很多I/O口的復(fù)用功能可以重新映射,見:你知道嗎?STM32上很多管腳功能可以重新映射。九、GPIO口的配置具有上鎖功能,當(dāng)配置好GPIO口后,可以通過程序鎖住配置組合,直到下次芯片復(fù)位才能解鎖。此功能非常有利于在程序跑飛的情況下保護(hù)系統(tǒng)中其他的設(shè)備,不會因為某些I/O口的配置被改變而損壞——如一個輸入口變成輸出口并輸出電流。十、輸出模式下輸入寄存器依然有效,在開漏配置模式下實現(xiàn)真正的雙向I/O功能。STM32內(nèi)置參照電壓的使用每個STM32芯片都有一個內(nèi)部的參照電壓,相當(dāng)于一個標(biāo)準(zhǔn)電壓測量點,在芯片內(nèi)部連接到ADC1的通道17。根據(jù)數(shù)據(jù)手冊中的數(shù)據(jù),這個參照電壓的典型值是1.20V,最小值是1.16V,最大值是1.24V。這個電壓基本不隨外部供電電壓的變化而變化。不少人把這個參照電壓與ADC的參考電壓混淆。ADC的參考電壓都是通過Vref+提供的。100腳以上的型號,Vref+引到了片外,引腳名稱為Vref+;64腳和小于64腳的型號,Vref+在芯片內(nèi)部與VCC信號線相連,沒有引到片外,這樣AD的參考電壓就是VCC上的電壓。在ADC的外部參考電壓波動,或因為Vref+在芯片內(nèi)部與VCC相連而VCC變化的情況下,如果對于ADC測量的準(zhǔn)確性要求不高時,可以使用這個內(nèi)部參照電壓得到ADC測量的電壓值。具體方法是在測量某個通道的電壓值之前,先讀出參照電壓的ADC測量數(shù)值,記為ADrefint;再讀出要測量通道的ADC轉(zhuǎn)換數(shù)值,記為ADchx;則要測量的電壓為:Vchx = Vrefint * (ADchx/ADrefint)其中Vrefint為參照電壓=1.20V。上述方法在使用內(nèi)置溫度傳感器對因為溫度變化,對系統(tǒng)參數(shù)進(jìn)行補(bǔ)償時就十分有效。STM32的ADC輸入通道配置STM32中最多有3個ADC模塊,每個模塊對應(yīng)的通道不完全重疊。下圖是STM32F103CDE數(shù)據(jù)手冊中的總框圖的左下角,圖中可以看出有8個外部ADC管腳分別接到了3個ADC模塊,有8個外部ADC管腳只分別接到了2個ADC模塊,還有5個外部ADC管腳只接到了ADC3模塊,這樣總共是21個通道。下表是這些ADC管腳與每個ADC模塊的對應(yīng)關(guān)系,表中可以看出ADC1還有2個內(nèi)部通道,分別接到內(nèi)部的溫度傳感器和內(nèi)部的參照電壓: 關(guān)于STM32 ADC速度的問題STM32F103xx系列稱為增強(qiáng)型產(chǎn)品,增強(qiáng)型產(chǎn)品的最高時鐘頻率可以達(dá)到72MHz。增強(qiáng)型產(chǎn)品的英文名稱為Performance Line。STM32F101xx系列稱為基本型產(chǎn)品,基本型產(chǎn)品的最高時鐘頻率可以達(dá)到36MHz。基本型產(chǎn)品的英文名稱為Access Line。根據(jù)設(shè)計,當(dāng)ADC模塊的頻率為14MHz時,可以達(dá)到ADC的最快采樣轉(zhuǎn)換速度。要得到14MHz的ADC頻率,就要求SYSCLK的頻率是14MHz的倍數(shù),即14MHz、28MHz、42MHz、56MHz、70MHz、84MHz等;對于基本型產(chǎn)品14MHz和28MHz處于它的最大允許頻率范圍內(nèi);對于增強(qiáng)型產(chǎn)品,14MHz、28MHz、42MHz、56MHz和70MHz幾種頻率都在它的最大允許頻率范圍內(nèi),但因為ADC預(yù)分頻器的分頻系數(shù)只有2、4、6、8這幾個,使用70MHz不能得到最大的14MHz,所以要想得到最快的ADC轉(zhuǎn)換速度,在增強(qiáng)型產(chǎn)品上能用的最快SYSCLK頻率是56MHz。ADC的速度由2個參數(shù)決定,它是采樣時間和轉(zhuǎn)換時間之和: 即:TCONV = 采樣時間 + 12.5個ADC時鐘周期在STM32中,ADC的采樣時間是由用戶程序在一組預(yù)定的數(shù)值中選擇,按照ADC的時鐘周期計算,共有8種選擇: 1.5、7.5、13.5、28.5、41.5、55.5、71.5和239.5按最小的1.5個時鐘周期的采樣時間計算,最短的TCONV等于14個時鐘周期,如果ADC的時鐘頻率是14MHz,則ADC的速度為每秒100萬次。注意:當(dāng)ADC的時鐘頻率超過14MHz時,ADC的精度將會顯著下降。STM32內(nèi)置CRC模塊的使用所有的STM32芯片都內(nèi)置了一個硬件的CRC計算模塊,可以很方便地應(yīng)用到需要進(jìn)行通信的程序中,這個CRC計算模塊使用常見的、在以太網(wǎng)中使用的計算多項式:X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 +X8 + X7 + X5 + X4 + X2 + X + 1寫成16進(jìn)制就是:0x04C11DB7使用這個內(nèi)置CRC模塊的方法非常簡單,既首先復(fù)位CRC模塊(設(shè)置CRC_CR=0x01),這個操作把CRC計算的余數(shù)初始化為0xFFFFFFFF;然后把要計算的數(shù)據(jù)按每32位分割為一組數(shù)據(jù)字,并逐個地把這組數(shù)據(jù)字寫入CRC_DR寄存器(既下圖中的綠色框),寫完所有的數(shù)據(jù)字后,就可以從CRC_DR寄存器(既下圖中的蘭色框)讀出計算的結(jié)果。注意:雖然讀寫操作都是針對CRC_DR寄存器,但實際上是訪問的不同物理寄存器。有幾點需要說明:1)上述算法中變量CRC,在每次循環(huán)結(jié)束包含了計算的余數(shù),它始終是向左移位(既從最低位向最高位移動),溢出的數(shù)據(jù)位被丟棄。2)輸入的數(shù)據(jù)始終是以32位為單位,如果原始數(shù)據(jù)少于32位,需要在低位補(bǔ)0,當(dāng)然也可以高位補(bǔ)0。3)假定輸入的DWORD數(shù)組中每個分量是按小端存儲。4)輸入數(shù)據(jù)是按照最高位最先計算,最低位最后計算的順序進(jìn)行。例如:如果輸入0x44434241,內(nèi)存中按字節(jié)存放的順序是:0x41, 0x42, 0x43, 0x44。計算的結(jié)果是:0xCF534AE1如果輸入0x41424344,內(nèi)存中按字節(jié)存放的順序是:0x44, 0x43, 0x42, 0x41。計算的結(jié)果是:0xABCF9A63STM32中定時器的時鐘源STM32中有多達(dá)8個定時器,其中TIM1和TIM8是能夠產(chǎn)生三對PWM互補(bǔ)輸出的高級定時器,常用于三相電機(jī)的驅(qū)動,它們的時鐘由APB2的輸出產(chǎn)生。其它6個為普通定時器,時鐘由APB1的輸出產(chǎn)生。下圖是STM32參考手冊上時鐘分配圖中,有關(guān)定時器時鐘部分的截圖:從圖中可以看出,定時器的時鐘不是直接來自APB1或APB2,而是來自于輸入為APB1或APB2的一個倍頻器,圖中的藍(lán)色部分。下面以定時器2~7的時鐘說明這個倍頻器的作用:當(dāng)APB1的預(yù)分頻系數(shù)為1時,這個倍頻器不起作用,定時器的時鐘頻率等于APB1的頻率;當(dāng)APB1的預(yù)分頻系數(shù)為其它數(shù)值(即預(yù)分頻系數(shù)為2、4、8或16)時,這個倍頻器起作用,定時器的時鐘頻率等于APB1的頻率兩倍。假定AHB=36MHz,因為APB1允許的最大頻率為36MHz,所以APB1的預(yù)分頻系數(shù)可以取任意數(shù)值;當(dāng)預(yù)分頻系數(shù)=1時,APB1=36MHz,TIM2~7的時鐘頻率=36MHz(倍頻器不起作用);當(dāng)預(yù)分頻系數(shù)=2時,APB1=18MHz,在倍頻器的作用下,TIM2~7的時鐘頻率=36MHz。有人會問,既然需要TIM2~7的時鐘頻率=36MHz,為什么不直接取APB1的預(yù)分頻系數(shù)=1?答案是:APB1不但要為TIM2~7提供時鐘,而且還要為其它外設(shè)提供時鐘;設(shè)置這個倍頻器可以在保證其它外設(shè)使用較低時鐘頻率時,TIM2~7仍能得到較高的時鐘頻率。再舉個例子:當(dāng)AHB=72MHz時,APB1的預(yù)分頻系數(shù)必須大于2,因為APB1的最大頻率只能為36MHz。如果APB1的預(yù)分頻系數(shù)=2,則因為這個倍頻器,TIM2~7仍然能夠得到72MHz的時鐘頻率。能夠使用更高的時鐘頻率,無疑提高了定時器的分辨率,這也正是設(shè)計這個倍頻器的初衷。STM32中外部中斷與外部事件這張圖是一條外部中斷線或外部事件線的示意圖,圖中信號線上劃有一條斜線,旁邊標(biāo)志19字樣的注釋,表示這樣的線路共有19套。圖中的藍(lán)色虛線箭頭,標(biāo)出了外部中斷信號的傳輸路徑,首先外部信號從編號1的芯片管腳進(jìn)入,經(jīng)過編號2的邊沿檢測電路,通過編號3的或門進(jìn)入中斷“掛起請求寄存器”,最后經(jīng)過編號4的與門輸出到NVIC中斷控制器;在這個通道上有4個控制選項,外部的信號首先經(jīng)過邊沿檢測電路,這個邊沿檢測電路受上升沿或下降沿選擇寄存器控制,用戶可以使用這兩個寄存器控制需要哪一個邊沿產(chǎn)生中斷,因為選擇上升沿或下降沿是分別受2個平行的寄存器控制,所以用戶可以同時選擇上升沿或下降沿,而如果只有一個寄存器控制,那么只能選擇一個邊沿了。接下來是編號3的或門,這個或門的另一個輸入是“軟件中斷/事件寄存器”,從這里可以看出,軟件可以優(yōu)先于外部信號請求一個中斷或事件,既當(dāng)“軟件中斷/事件寄存器”的對應(yīng)位為“1”時,不管外部信號如何,編號3的或門都會輸出有效信號。一個中斷或事件請求信號經(jīng)過編號3的或門后,進(jìn)入掛起請求寄存器,到此之前,中斷和事件的信號傳輸通路都是一致的,也就是說,掛起請求寄存器中記錄了外部信號的電平變化。外部請求信號最后經(jīng)過編號4的與門,向NVIC中斷控制器發(fā)出一個中斷請求,如果中斷屏蔽寄存器的對應(yīng)位為“0”,則該請求信號不能傳輸?shù)脚c門的另一端,實現(xiàn)了中斷的屏蔽。明白了外部中斷的請求機(jī)制,就很容易理解事件的請求機(jī)制了。圖中紅色虛線箭頭,標(biāo)出了外部事件信號的傳輸路徑,外部請求信號經(jīng)過編號3的或門后,進(jìn)入編號5的與門,這個與門的作用與編號4的與門類似,用于引入事件屏蔽寄存器的控制;最后脈沖發(fā)生器把一個跳變的信號轉(zhuǎn)變?yōu)橐粋€單脈沖,輸出到芯片中的其它功能模塊。在這張圖上我們也可以知道,從外部激勵信號來看,中斷和事件是沒有分別的,只是在芯片內(nèi)部分開,一路信號會向CPU產(chǎn)生中斷請求,另一路信號會向其它功能模塊發(fā)送脈沖觸發(fā)信號,其它功能模塊如何相應(yīng)這個觸發(fā)信號,則由對應(yīng)的模塊自己決定。在圖上部的APB總線和外設(shè)模塊接口,是每一個功能模塊都有的部分,CPU通過這樣的接口訪問各個功能模塊,這里就不再贅述了。STM32的USART發(fā)送數(shù)據(jù)時如何使用TXE和TC標(biāo)志在USART的發(fā)送端有2個寄存器,一個是程序可以看到的USART_DR寄存器(下圖中陰影部分的TDR),另一個是程序看不到的移位寄存器(下圖中陰影部分Transmit Shift Register)。對應(yīng)USART數(shù)據(jù)發(fā)送有兩個標(biāo)志,一個是TXE=發(fā)送數(shù)據(jù)寄存器空,另一個是TC=發(fā)送結(jié)束;對照下圖,當(dāng)TDR中的數(shù)據(jù)傳送到移位寄存器后,TXE被設(shè)置,此時移位寄存器開始向TX信號線按位傳輸數(shù)據(jù),但因為TDR已經(jīng)變空,程序可以把下一個要發(fā)送的字節(jié)(操作USART_DR)寫入TDR中,而不必等到移位寄存器中所有位發(fā)送結(jié)束,所有位發(fā)送結(jié)束時(送出停止位后)硬件會設(shè)置TC標(biāo)志。另一方面,在剛剛初始化好USART還沒有發(fā)送任何數(shù)據(jù)時,也會有TXE標(biāo)志,因為這時發(fā)送數(shù)據(jù)寄存器是空的。TXEIE和TCIE的意義很簡單,TXEIE允許在TXE標(biāo)志為'1'時產(chǎn)生中斷,而TCIE允許在TC標(biāo)志為'1'時產(chǎn)生中斷。至于什么時候使用哪個標(biāo)志,需要根據(jù)你的需要自己決定。但我認(rèn)為TXE允許程序有更充裕的時間填寫TDR寄存器,保證發(fā)送的數(shù)據(jù)流不間斷。TC可以讓程序知道發(fā)送結(jié)束的確切時間,有利于程序控制外部數(shù)據(jù)流的時序。STM32設(shè)置了很多非常有用和靈活的控制和狀態(tài)位,只要你很好地掌握了它們的用法,可以讓你的應(yīng)用更加精確和高效。南寧STM32技術(shù)實訓(xùn)提升QQ2532176025這是STM32技術(shù)參考手冊中的一頁:在STM32中如何配置片內(nèi)外設(shè)使用的IO端口首先,一個外設(shè)經(jīng)過配置輸入的時鐘和初始化后即被激活(開啟)。如果需要使用該外設(shè)的輸入輸出管腳,則需要配置相應(yīng)的GPIO端口;否則該外設(shè)對應(yīng)的輸入輸出管腳可以做普通GPIO管腳使用。
2016-09-14 10:58:12

帶你走進(jìn)STM32的世界

STM32F10xx時鐘系統(tǒng)框圖:時鐘是整個系統(tǒng)的脈搏下圖是STM32F10xx時鐘系統(tǒng)的框圖,通過這個圖可以一目了然地看到各個部件時鐘產(chǎn)生的路徑,還可以很方便地計算出各部分的時鐘頻率。STM32的四個時鐘源(HSI、HSE、LSI和LSE)也在圖中標(biāo)出;圖中間的時鐘監(jiān)視系統(tǒng)(CSS)是在很多ST7的單片機(jī)中就出現(xiàn)的安全設(shè)置。特別注意:圖的右邊,輸出定時器時鐘之前有一個乘法器,它的操作不是由程序控制的,是由硬件根據(jù)前一級的APB預(yù)分頻器的輸出自動選擇,當(dāng)APB預(yù)分頻器的分頻因子為1時,這個乘法器無作用;當(dāng)APB預(yù)分頻器的分頻因子大于1時,這個乘法器做倍頻操作,即將APB預(yù)分頻器輸出的頻率乘2,這樣可以保證定時器可以得到最高的72MHz時鐘脈沖。STM32上很多管腳功能可以重新映射STM32上有很多I/O口,也有很多的內(nèi)置外設(shè),為了節(jié)省引出管腳,這些內(nèi)置外設(shè)都是與I/O口共用引出管腳,ST稱其為I/O管腳的復(fù)用功能,相信這點大家都很清楚,因為基本上所有單片機(jī)都是這么做的。但不知有多少人知道,很多復(fù)用功能的引出腳可以通過重映射,從不同的I/O管腳引出,即復(fù)用功能的引出腳位是可通過程序改變的。這一功能的直接好處是,PCB電路板的設(shè)計人員可以在需要的情況下,不必把某些信號在板上繞一大圈完成聯(lián)接,方便了PCB的設(shè)計同時潛在地減少了信號的交叉干擾。復(fù)用功能引出腳的重映射功能所帶來的潛在好處是,在你不需要同時使用多個復(fù)用功能時,虛擬地增加復(fù)用功能的數(shù)量。例如,STM32上最多有3個USART接口,當(dāng)你需要更多UART接口而又不需要同時使用它們時,可以通過這個重映射功能實現(xiàn)更多的UART接口。下述復(fù)用功能的引出腳具有重映射功能:- 晶體振蕩器的引腳在不接晶體時,可以作為普通I/O口- CAN模塊- JTAG調(diào)試接口- 大部分定時器的引出接口- 大部分USART的引出接口- I2C1的引出接口- SPI1的引出接口詳細(xì)內(nèi)容請看STM32的技術(shù)參考手冊。請務(wù)必記住:如果使用了任意一種重映射功能,在初始化和使用之前,一定要打開AFIO時鐘。下圖示出了部分復(fù)用功能引出腳的重映射結(jié)果:【演示實例】一個在EK-STM32F板子上的RTC作為calender的例子硬件連接:串口線連至板子的UART-0端口。超級終端設(shè)置為:Bits Per seconds: 115200Data bits: 8Parity: noneStop bits: 1Flow control Hardware板子第一次跑這個程序時,進(jìn)入時間配置。根據(jù)超級終端上的提示,一次輸入年,月,日,時,分,秒(1月就輸入01,10月直接輸入10;同理3號就輸入03)隨后當(dāng)前的時間就顯示到了超級終端上,并且每秒刷新。沒有斷電的情況下再跑這個程序,由于看到bake up區(qū)域有被設(shè)置過時間的標(biāo)志,不再進(jìn)入時間設(shè)置階段,而是直接到時間顯示間斷,在超級終端上,每秒刷新。當(dāng)然如果在EK-STM32F板子上將Vbat和電池相接,具體就是:將紅色的電源跳線帽中的從下往上數(shù)的第5個取下,從原來的水平放置改成豎直放置(和上面的VBAT相連)。就算斷電,只要再上電,看到back up區(qū)域中的記號,一樣直接進(jìn)入時間顯示。因為斷電后,back up區(qū)域由電池供電,其中記錄的記號不會由于系統(tǒng)掉電而消失。【演示實例】使用EK-STM32F板測量STM32的功耗這個例子演示了如何使用EK-STM32F開發(fā)評估板測量STM32F103VBT6在各種模式下的功耗。例子中演示了如何進(jìn)入STM32的各種模式(RUN、SLEEP、STOP、STANDBY),使用這個例子您可以通過EK-STM32F板上的紅色跳線(VDD、VREF+和VDDA)測量功耗。本實例首先通過UART與Windows的Hyperterminal通信,用戶可以選擇需要進(jìn)入的功耗模式,然后這個例程把用戶選好的配置存到后備寄存器,再次復(fù)位后STM32將進(jìn)入之前選定的模式。附件包中包含了一個說明文件,詳細(xì)說明了如何設(shè)置板上的跳線和操作的過程。STM32 GPIO的十大優(yōu)越功能綜述前幾天Hotpower邀請大家討論一下GPIO的功能、性能和優(yōu)缺點(STM32的GPIO很強(qiáng)大~~~),等了幾天沒見太多人發(fā)言,但綜合來看提到了3點:1)真雙向IO,2)速度快,3)寄存器功能重復(fù)。關(guān)于第3點有說好,有說多余的,見仁見智。下面我就在做個拋磚引玉,根據(jù)ST手冊上的內(nèi)容,簡單地綜述一下GPIO的功能:一、共有8種模式,可以通過編程選擇:1. 浮空輸入2. 帶上拉輸入3. 帶下拉輸入4. 模擬輸入5. 開漏輸出——(此模式可實現(xiàn)hotpower說的真雙向IO)6. 推挽輸出7. 復(fù)用功能的推挽輸出8. 復(fù)用功能的開漏輸出模式7和模式8需根據(jù)具體的復(fù)用功能決定。二、專門的寄存器(GPIOx_BSRR和GPIOx_BRR)實現(xiàn)對GPIO口的原子操作,即回避了設(shè)置或清除I/O端口時的“讀-修改-寫”操作,使得設(shè)置或清除I/O端口的操作不會被中斷處理打斷而造成誤動作。三、每個GPIO口都可以作為外部中斷的輸入,便于系統(tǒng)靈活設(shè)計。四、I/O口的輸出模式下,有3種輸出速度可選(2MHz、10MHz和50MHz),這有利于噪聲控制。五、所有I/O口兼容CMOS和TTL,多數(shù)I/O口兼容5V電平。六、大電流驅(qū)動能力:GPIO口在高低電平分別為0.4V和VDD-0.4V時,可以提供或吸收8mA電流;如果把輸入輸出電平分別放寬到1.3V和VDD-1.3V時,可以提供或吸收20mA電流。七、具有獨(dú)立的喚醒I/O口。八、很多I/O口的復(fù)用功能可以重新映射,見:你知道嗎?STM32上很多管腳功能可以重新映射。九、GPIO口的配置具有上鎖功能,當(dāng)配置好GPIO口后,可以通過程序鎖住配置組合,直到下次芯片復(fù)位才能解鎖。此功能非常有利于在程序跑飛的情況下保護(hù)系統(tǒng)中其他的設(shè)備,不會因為某些I/O口的配置被改變而損壞——如一個輸入口變成輸出口并輸出電流。十、輸出模式下輸入寄存器依然有效,在開漏配置模式下實現(xiàn)真正的雙向I/O功能。STM32內(nèi)置參照電壓的使用每個STM32芯片都有一個內(nèi)部的參照電壓,相當(dāng)于一個標(biāo)準(zhǔn)電壓測量點,在芯片內(nèi)部連接到ADC1的通道17。根據(jù)數(shù)據(jù)手冊中的數(shù)據(jù),這個參照電壓的典型值是1.20V,最小值是1.16V,最大值是1.24V。這個電壓基本不隨外部供電電壓的變化而變化。不少人把這個參照電壓與ADC的參考電壓混淆。ADC的參考電壓都是通過Vref+提供的。100腳以上的型號,Vref+引到了片外,引腳名稱為Vref+;64腳和小于64腳的型號,Vref+在芯片內(nèi)部與VCC信號線相連,沒有引到片外,這樣AD的參考電壓就是VCC上的電壓。在ADC的外部參考電壓波動,或因為Vref+在芯片內(nèi)部與VCC相連而VCC變化的情況下,如果對于ADC測量的準(zhǔn)確性要求不高時,可以使用這個內(nèi)部參照電壓得到ADC測量的電壓值。具體方法是在測量某個通道的電壓值之前,先讀出參照電壓的ADC測量數(shù)值,記為ADrefint;再讀出要測量通道的ADC轉(zhuǎn)換數(shù)值,記為ADchx;則要測量的電壓為:Vchx = Vrefint * (ADchx/ADrefint)其中Vrefint為參照電壓=1.20V。上述方法在使用內(nèi)置溫度傳感器對因為溫度變化,對系統(tǒng)參數(shù)進(jìn)行補(bǔ)償時就十分有效。STM32的ADC輸入通道配置STM32中最多有3個ADC模塊,每個模塊對應(yīng)的通道不完全重疊。下圖是STM32F103CDE數(shù)據(jù)手冊中的總框圖的左下角,圖中可以看出有8個外部ADC管腳分別接到了3個ADC模塊,有8個外部ADC管腳只分別接到了2個ADC模塊,還有5個外部ADC管腳只接到了ADC3模塊,這樣總共是21個通道。下表是這些ADC管腳與每個ADC模塊的對應(yīng)關(guān)系,表中可以看出ADC1還有2個內(nèi)部通道,分別接到內(nèi)部的溫度傳感器和內(nèi)部的參照電壓: 關(guān)于STM32 ADC速度的問題STM32F103xx系列稱為增強(qiáng)型產(chǎn)品,增強(qiáng)型產(chǎn)品的最高時鐘頻率可以達(dá)到72MHz。增強(qiáng)型產(chǎn)品的英文名稱為Performance Line。STM32F101xx系列稱為基本型產(chǎn)品,基本型產(chǎn)品的最高時鐘頻率可以達(dá)到36MHz。基本型產(chǎn)品的英文名稱為Access Line。根據(jù)設(shè)計,當(dāng)ADC模塊的頻率為14MHz時,可以達(dá)到ADC的最快采樣轉(zhuǎn)換速度。要得到14MHz的ADC頻率,就要求SYSCLK的頻率是14MHz的倍數(shù),即14MHz、28MHz、42MHz、56MHz、70MHz、84MHz等;對于基本型產(chǎn)品14MHz和28MHz處于它的最大允許頻率范圍內(nèi);對于增強(qiáng)型產(chǎn)品,14MHz、28MHz、42MHz、56MHz和70MHz幾種頻率都在它的最大允許頻率范圍內(nèi),但因為ADC預(yù)分頻器的分頻系數(shù)只有2、4、6、8這幾個,使用70MHz不能得到最大的14MHz,所以要想得到最快的ADC轉(zhuǎn)換速度,在增強(qiáng)型產(chǎn)品上能用的最快SYSCLK頻率是56MHz。ADC的速度由2個參數(shù)決定,它是采樣時間和轉(zhuǎn)換時間之和: 即:TCONV = 采樣時間 + 12.5個ADC時鐘周期在STM32中,ADC的采樣時間是由用戶程序在一組預(yù)定的數(shù)值中選擇,按照ADC的時鐘周期計算,共有8種選擇:1.5、7.5、13.5、28.5、41.5、55.5、71.5和239.5按最小的1.5個時鐘周期的采樣時間計算,最短的TCONV等于14個時鐘周期,如果ADC的時鐘頻率是14MHz,則ADC的速度為每秒100萬次。注意:當(dāng)ADC的時鐘頻率超過14MHz時,ADC的精度將會顯著下降。STM32內(nèi)置CRC模塊的使用所有的STM32芯片都內(nèi)置了一個硬件的CRC計算模塊,可以很方便地應(yīng)用到需要進(jìn)行通信的程序中,這個CRC計算模塊使用常見的、在以太網(wǎng)中使用的計算多項式:X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 +X8 + X7 + X5 + X4 + X2 + X + 1寫成16進(jìn)制就是:0x04C11DB7使用這個內(nèi)置CRC模塊的方法非常簡單,既首先復(fù)位CRC模塊(設(shè)置CRC_CR=0x01),這個操作把CRC計算的余數(shù)初始化為0xFFFFFFFF;然后把要計算的數(shù)據(jù)按每32位分割為一組數(shù)據(jù)字,并逐個地把這組數(shù)據(jù)字寫入CRC_DR寄存器(既下圖中的綠色框),寫完所有的數(shù)據(jù)字后,就可以從CRC_DR寄存器(既下圖中的蘭色框)讀出計算的結(jié)果。注意:雖然讀寫操作都是針對CRC_DR寄存器,但實際上是訪問的不同物理寄存器。有幾點需要說明:1)上述算法中變量CRC,在每次循環(huán)結(jié)束包含了計算的余數(shù),它始終是向左移位(既從最低位向最高位移動),溢出的數(shù)據(jù)位被丟棄。2)輸入的數(shù)據(jù)始終是以32位為單位,如果原始數(shù)據(jù)少于32位,需要在低位補(bǔ)0,當(dāng)然也可以高位補(bǔ)0。3)假定輸入的DWORD數(shù)組中每個分量是按小端存儲。4)輸入數(shù)據(jù)是按照最高位最先計算,最低位最后計算的順序進(jìn)行。例如:如果輸入0x44434241,內(nèi)存中按字節(jié)存放的順序是:0x41, 0x42, 0x43, 0x44。計算的結(jié)果是:0xCF534AE1如果輸入0x41424344,內(nèi)存中按字節(jié)存放的順序是:0x44, 0x43, 0x42, 0x41。計算的結(jié)果是:0xABCF9A63STM32中定時器的時鐘源STM32中有多達(dá)8個定時器,其中TIM1和TIM8是能夠產(chǎn)生三對PWM互補(bǔ)輸出的高級定時器,常用于三相電機(jī)的驅(qū)動,它們的時鐘由APB2的輸出產(chǎn)生。其它6個為普通定時器,時鐘由APB1的輸出產(chǎn)生。下圖是STM32參考手冊上時鐘分配圖中,有關(guān)定時器時鐘部分的截圖:從圖中可以看出,定時器的時鐘不是直接來自APB1或APB2,而是來自于輸入為APB1或APB2的一個倍頻器,圖中的藍(lán)色部分。下面以定時器2~7的時鐘說明這個倍頻器的作用:當(dāng)APB1的預(yù)分頻系數(shù)為1時,這個倍頻器不起作用,定時器的時鐘頻率等于APB1的頻率;當(dāng)APB1的預(yù)分頻系數(shù)為其它數(shù)值(即預(yù)分頻系數(shù)為2、4、8或16)時,這個倍頻器起作用,定時器的時鐘頻率等于APB1的頻率兩倍。假定AHB=36MHz,因為APB1允許的最大頻率為36MHz,所以APB1的預(yù)分頻系數(shù)可以取任意數(shù)值;當(dāng)預(yù)分頻系數(shù)=1時,APB1=36MHz,TIM2~7的時鐘頻率=36MHz(倍頻器不起作用);當(dāng)預(yù)分頻系數(shù)=2時,APB1=18MHz,在倍頻器的作用下,TIM2~7的時鐘頻率=36MHz。有人會問,既然需要TIM2~7的時鐘頻率=36MHz,為什么不直接取APB1的預(yù)分頻系數(shù)=1?答案是:APB1不但要為TIM2~7提供時鐘,而且還要為其它外設(shè)提供時鐘;設(shè)置這個倍頻器可以在保證其它外設(shè)使用較低時鐘頻率時,TIM2~7仍能得到較高的時鐘頻率。再舉個例子:當(dāng)AHB=72MHz時,APB1的預(yù)分頻系數(shù)必須大于2,因為APB1的最大頻率只能為36MHz。如果APB1的預(yù)分頻系數(shù)=2,則因為這個倍頻器,TIM2~7仍然能夠得到72MHz的時鐘頻率。能夠使用更高的時鐘頻率,無疑提高了定時器的分辨率,這也正是設(shè)計這個倍頻器的初衷。STM32中外部中斷與外部事件這張圖是一條外部中斷線或外部事件線的示意圖,圖中信號線上劃有一條斜線,旁邊標(biāo)志19字樣的注釋,表示這樣的線路共有19套。圖中的藍(lán)色虛線箭頭,標(biāo)出了外部中斷信號的傳輸路徑,首先外部信號從編號1的芯片管腳進(jìn)入,經(jīng)過編號2的邊沿檢測電路,通過編號3的或門進(jìn)入中斷“掛起請求寄存器”,最后經(jīng)過編號4的與門輸出到NVIC中斷控制器;在這個通道上有4個控制選項,外部的信號首先經(jīng)過邊沿檢測電路,這個邊沿檢測電路受上升沿或下降沿選擇寄存器控制,用戶可以使用這兩個寄存器控制需要哪一個邊沿產(chǎn)生中斷,因為選擇上升沿或下降沿是分別受2個平行的寄存器控制,所以用戶可以同時選擇上升沿或下降沿,而如果只有一個寄存器控制,那么只能選擇一個邊沿了。接下來是編號3的或門,這個或門的另一個輸入是“軟件中斷/事件寄存器”,從這里可以看出,軟件可以優(yōu)先于外部信號請求一個中斷或事件,既當(dāng)“軟件中斷/事件寄存器”的對應(yīng)位為“1”時,不管外部信號如何,編號3的或門都會輸出有效信號。一個中斷或事件請求信號經(jīng)過編號3的或門后,進(jìn)入掛起請求寄存器,到此之前,中斷和事件的信號傳輸通路都是一致的,也就是說,掛起請求寄存器中記錄了外部信號的電平變化。外部請求信號最后經(jīng)過編號4的與門,向NVIC中斷控制器發(fā)出一個中斷請求,如果中斷屏蔽寄存器的對應(yīng)位為“0”,則該請求信號不能傳輸?shù)脚c門的另一端,實現(xiàn)了中斷的屏蔽。明白了外部中斷的請求機(jī)制,就很容易理解事件的請求機(jī)制了。圖中紅色虛線箭頭,標(biāo)出了外部事件信號的傳輸路徑,外部請求信號經(jīng)過編號3的或門后,進(jìn)入編號5的與門,這個與門的作用與編號4的與門類似,用于引入事件屏蔽寄存器的控制;最后脈沖發(fā)生器把一個跳變的信號轉(zhuǎn)變?yōu)橐粋€單脈沖,輸出到芯片中的其它功能模塊。在這張圖上我們也可以知道,從外部激勵信號來看,中斷和事件是沒有分別的,只是在芯片內(nèi)部分開,一路信號會向CPU產(chǎn)生中斷請求,另一路信號會向其它功能模塊發(fā)送脈沖觸發(fā)信號,其它功能模塊如何相應(yīng)這個觸發(fā)信號,則由對應(yīng)的模塊自己決定。在圖上部的APB總線和外設(shè)模塊接口,是每一個功能模塊都有的部分,CPU通過這樣的接口訪問各個功能模塊,這里就不再贅述了。STM32的USART發(fā)送數(shù)據(jù)時如何使用TXE和TC標(biāo)志在USART的發(fā)送端有2個寄存器,一個是程序可以看到的USART_DR寄存器(下圖中陰影部分的TDR),另一個是程序看不到的移位寄存器(下圖中陰影部分Transmit Shift Register)。對應(yīng)USART數(shù)據(jù)發(fā)送有兩個標(biāo)志,一個是TXE=發(fā)送數(shù)據(jù)寄存器空,另一個是TC=發(fā)送結(jié)束;對照下圖,當(dāng)TDR中的數(shù)據(jù)傳送到移位寄存器后,TXE被設(shè)置,此時移位寄存器開始向TX信號線按位傳輸數(shù)據(jù),但因為TDR已經(jīng)變空,程序可以把下一個要發(fā)送的字節(jié)(操作USART_DR)寫入TDR中,而不必等到移位寄存器中所有位發(fā)送結(jié)束,所有位發(fā)送結(jié)束時(送出停止位后)硬件會設(shè)置TC標(biāo)志。另一方面,在剛剛初始化好USART還沒有發(fā)送任何數(shù)據(jù)時,也會有TXE標(biāo)志,因為這時發(fā)送數(shù)據(jù)寄存器是空的。TXEIE和TCIE的意義很簡單,TXEIE允許在TXE標(biāo)志為'1'時產(chǎn)生中斷,而TCIE允許在TC標(biāo)志為'1'時產(chǎn)生中斷。至于什么時候使用哪個標(biāo)志,需要根據(jù)你的需要自己決定。但我認(rèn)為TXE允許程序有更充裕的時間填寫TDR寄存器,保證發(fā)送的數(shù)據(jù)流不間斷。TC可以讓程序知道發(fā)送結(jié)束的確切時間,有利于程序控制外部數(shù)據(jù)流的時序。STM32設(shè)置了很多非常有用和靈活的控制和狀態(tài)位,只要你很好地掌握了它們的用法,可以讓你的應(yīng)用更加精確和高效。在STM32中如何配置片內(nèi)外設(shè)使用的IO端口首先,一個外設(shè)經(jīng)過配置輸入的時鐘和初始化后即被激活(開啟)。如果需要使用該外設(shè)的輸入輸出管腳,則需要配置相應(yīng)的GPIO端口;否則該外設(shè)對應(yīng)的輸入輸出管腳可以做普通GPIO管腳使用。
2017-10-07 11:44:54

帶你走進(jìn)STM32的世界

STM32F10xx時鐘系統(tǒng)框圖:時鐘是整個系統(tǒng)的脈搏下圖是STM32F10xx時鐘系統(tǒng)的框圖,通過這個圖可以一目了然地看到各個部件時鐘產(chǎn)生的路徑,還可以很方便地計算出各部分的時鐘頻率。STM32的四個時鐘源(HSI、HSE、LSI和LSE)也在圖中標(biāo)出;圖中間的時鐘監(jiān)視系統(tǒng)(CSS)是在很多ST7的單片機(jī)中就出現(xiàn)的安全設(shè)置。特別注意:圖的右邊,輸出定時器時鐘之前有一個乘法器,它的操作不是由程序控制的,是由硬件根據(jù)前一級的APB預(yù)分頻器的輸出自動選擇,當(dāng)APB預(yù)分頻器的分頻因子為1時,這個乘法器無作用;當(dāng)APB預(yù)分頻器的分頻因子大于1時,這個乘法器做倍頻操作,即將APB預(yù)分頻器輸出的頻率乘2,這樣可以保證定時器可以得到最高的72MHz時鐘脈沖。STM32上很多管腳功能可以重新映射STM32上有很多I/O口,也有很多的內(nèi)置外設(shè),為了節(jié)省引出管腳,這些內(nèi)置外設(shè)都是與I/O口共用引出管腳,ST稱其為I/O管腳的復(fù)用功能,相信這點大家都很清楚,因為基本上所有單片機(jī)都是這么做的。但不知有多少人知道,很多復(fù)用功能的引出腳可以通過重映射,從不同的I/O管腳引出,即復(fù)用功能的引出腳位是可通過程序改變的。這一功能的直接好處是,PCB電路板的設(shè)計人員可以在需要的情況下,不必把某些信號在板上繞一大圈完成聯(lián)接,方便了PCB的設(shè)計同時潛在地減少了信號的交叉干擾。復(fù)用功能引出腳的重映射功能所帶來的潛在好處是,在你不需要同時使用多個復(fù)用功能時,虛擬地增加復(fù)用功能的數(shù)量。例如,STM32上最多有3個USART接口,當(dāng)你需要更多UART接口而又不需要同時使用它們時,可以通過這個重映射功能實現(xiàn)更多的UART接口。下述復(fù)用功能的引出腳具有重映射功能:- 晶體振蕩器的引腳在不接晶體時,可以作為普通I/O口- CAN模塊- JTAG調(diào)試接口- 大部分定時器的引出接口- 大部分USART的引出接口- I2C1的引出接口- SPI1的引出接口詳細(xì)內(nèi)容請看STM32的技術(shù)參考手冊。請務(wù)必記住:如果使用了任意一種重映射功能,在初始化和使用之前,一定要打開AFIO時鐘。下圖示出了部分復(fù)用功能引出腳的重映射結(jié)果:【演示實例】一個在EK-STM32F板子上的RTC作為calender的例子硬件連接:串口線連至板子的UART-0端口。超級終端設(shè)置為:Bits Per seconds: 115200Data bits: 8Parity: noneStop bits: 1Flow control Hardware板子第一次跑這個程序時,進(jìn)入時間配置。根據(jù)超級終端上的提示,一次輸入年,月,日,時,分,秒(1月就輸入01,10月直接輸入10;同理3號就輸入03)隨后當(dāng)前的時間就顯示到了超級終端上,并且每秒刷新。沒有斷電的情況下再跑這個程序,由于看到bake up區(qū)域有被設(shè)置過時間的標(biāo)志,不再進(jìn)入時間設(shè)置階段,而是直接到時間顯示間斷,在超級終端上,每秒刷新。當(dāng)然如果在EK-STM32F板子上將Vbat和電池相接,具體就是:將紅色的電源跳線帽中的從下往上數(shù)的第5個取下,從原來的水平放置改成豎直放置(和上面的VBAT相連)。就算斷電,只要再上電,看到back up區(qū)域中的記號,一樣直接進(jìn)入時間顯示。因為斷電后,back up區(qū)域由電池供電,其中記錄的記號不會由于系統(tǒng)掉電而消失。【演示實例】使用EK-STM32F板測量STM32的功耗這個例子演示了如何使用EK-STM32F開發(fā)評估板測量STM32F103VBT6在各種模式下的功耗。例子中演示了如何進(jìn)入STM32的各種模式(RUN、SLEEP、STOP、STANDBY),使用這個例子您可以通過EK-STM32F板上的紅色跳線(VDD、VREF+和VDDA)測量功耗。本實例首先通過UART與Windows的Hyperterminal通信,用戶可以選擇需要進(jìn)入的功耗模式,然后這個例程把用戶選好的配置存到后備寄存器,再次復(fù)位后STM32將進(jìn)入之前選定的模式。附件包中包含了一個說明文件,詳細(xì)說明了如何設(shè)置板上的跳線和操作的過程。STM32 GPIO的十大優(yōu)越功能綜述前幾天Hotpower邀請大家討論一下GPIO的功能、性能和優(yōu)缺點(STM32的GPIO很強(qiáng)大~~~),等了幾天沒見太多人發(fā)言,但綜合來看提到了3點:1)真雙向IO,2)速度快,3)寄存器功能重復(fù)。關(guān)于第3點有說好,有說多余的,見仁見智。下面我就在做個拋磚引玉,根據(jù)ST手冊上的內(nèi)容,簡單地綜述一下GPIO的功能:一、共有8種模式,可以通過編程選擇:1. 浮空輸入2. 帶上拉輸入3. 帶下拉輸入4. 模擬輸入5. 開漏輸出——(此模式可實現(xiàn)hotpower說的真雙向IO)6. 推挽輸出7. 復(fù)用功能的推挽輸出8. 復(fù)用功能的開漏輸出模式7和模式8需根據(jù)具體的復(fù)用功能決定。二、專門的寄存器(GPIOx_BSRR和GPIOx_BRR)實現(xiàn)對GPIO口的原子操作,即回避了設(shè)置或清除I/O端口時的“讀-修改-寫”操作,使得設(shè)置或清除I/O端口的操作不會被中斷處理打斷而造成誤動作。三、每個GPIO口都可以作為外部中斷的輸入,便于系統(tǒng)靈活設(shè)計。四、I/O口的輸出模式下,有3種輸出速度可選(2MHz、10MHz和50MHz),這有利于噪聲控制。五、所有I/O口兼容CMOS和TTL,多數(shù)I/O口兼容5V電平。六、大電流驅(qū)動能力:GPIO口在高低電平分別為0.4V和VDD-0.4V時,可以提供或吸收8mA電流;如果把輸入輸出電平分別放寬到1.3V和VDD-1.3V時,可以提供或吸收20mA電流。七、具有獨(dú)立的喚醒I/O口。八、很多I/O口的復(fù)用功能可以重新映射,見:你知道嗎?STM32上很多管腳功能可以重新映射。九、GPIO口的配置具有上鎖功能,當(dāng)配置好GPIO口后,可以通過程序鎖住配置組合,直到下次芯片復(fù)位才能解鎖。此功能非常有利于在程序跑飛的情況下保護(hù)系統(tǒng)中其他的設(shè)備,不會因為某些I/O口的配置被改變而損壞——如一個輸入口變成輸出口并輸出電流。十、輸出模式下輸入寄存器依然有效,在開漏配置模式下實現(xiàn)真正的雙向I/O功能。STM32內(nèi)置參照電壓的使用每個STM32芯片都有一個內(nèi)部的參照電壓,相當(dāng)于一個標(biāo)準(zhǔn)電壓測量點,在芯片內(nèi)部連接到ADC1的通道17。根據(jù)數(shù)據(jù)手冊中的數(shù)據(jù),這個參照電壓的典型值是1.20V,最小值是1.16V,最大值是1.24V。這個電壓基本不隨外部供電電壓的變化而變化。不少人把這個參照電壓與ADC的參考電壓混淆。ADC的參考電壓都是通過Vref+提供的。100腳以上的型號,Vref+引到了片外,引腳名稱為Vref+;64腳和小于64腳的型號,Vref+在芯片內(nèi)部與VCC信號線相連,沒有引到片外,這樣AD的參考電壓就是VCC上的電壓。在ADC的外部參考電壓波動,或因為Vref+在芯片內(nèi)部與VCC相連而VCC變化的情況下,如果對于ADC測量的準(zhǔn)確性要求不高時,可以使用這個內(nèi)部參照電壓得到ADC測量的電壓值。具體方法是在測量某個通道的電壓值之前,先讀出參照電壓的ADC測量數(shù)值,記為ADrefint;再讀出要測量通道的ADC轉(zhuǎn)換數(shù)值,記為ADchx;則要測量的電壓為:Vchx = Vrefint * (ADchx/ADrefint)其中Vrefint為參照電壓=1.20V。上述方法在使用內(nèi)置溫度傳感器對因為溫度變化,對系統(tǒng)參數(shù)進(jìn)行補(bǔ)償時就十分有效。STM32的ADC輸入通道配置STM32中最多有3個ADC模塊,每個模塊對應(yīng)的通道不完全重疊。下圖是STM32F103CDE數(shù)據(jù)手冊中的總框圖的左下角,圖中可以看出有8個外部ADC管腳分別接到了3個ADC模塊,有8個外部ADC管腳只分別接到了2個ADC模塊,還有5個外部ADC管腳只接到了ADC3模塊,這樣總共是21個通道。下表是這些ADC管腳與每個ADC模塊的對應(yīng)關(guān)系,表中可以看出ADC1還有2個內(nèi)部通道,分別接到內(nèi)部的溫度傳感器和內(nèi)部的參照電壓: 關(guān)于STM32 ADC速度的問題STM32F103xx系列稱為增強(qiáng)型產(chǎn)品,增強(qiáng)型產(chǎn)品的最高時鐘頻率可以達(dá)到72MHz。增強(qiáng)型產(chǎn)品的英文名稱為Performance Line。STM32F101xx系列稱為基本型產(chǎn)品,基本型產(chǎn)品的最高時鐘頻率可以達(dá)到36MHz。基本型產(chǎn)品的英文名稱為Access Line。根據(jù)設(shè)計,當(dāng)ADC模塊的頻率為14MHz時,可以達(dá)到ADC的最快采樣轉(zhuǎn)換速度。要得到14MHz的ADC頻率,就要求SYSCLK的頻率是14MHz的倍數(shù),即14MHz、28MHz、42MHz、56MHz、70MHz、84MHz等;對于基本型產(chǎn)品14MHz和28MHz處于它的最大允許頻率范圍內(nèi);對于增強(qiáng)型產(chǎn)品,14MHz、28MHz、42MHz、56MHz和70MHz幾種頻率都在它的最大允許頻率范圍內(nèi),但因為ADC預(yù)分頻器的分頻系數(shù)只有2、4、6、8這幾個,使用70MHz不能得到最大的14MHz,所以要想得到最快的ADC轉(zhuǎn)換速度,在增強(qiáng)型產(chǎn)品上能用的最快SYSCLK頻率是56MHz。ADC的速度由2個參數(shù)決定,它是采樣時間和轉(zhuǎn)換時間之和: 即:TCONV = 采樣時間 + 12.5個ADC時鐘周期在STM32中,ADC的采樣時間是由用戶程序在一組預(yù)定的數(shù)值中選擇,按照ADC的時鐘周期計算,共有8種選擇:1.5、7.5、13.5、28.5、41.5、55.5、71.5和239.5按最小的1.5個時鐘周期的采樣時間計算,最短的TCONV等于14個時鐘周期,如果ADC的時鐘頻率是14MHz,則ADC的速度為每秒100萬次。注意:當(dāng)ADC的時鐘頻率超過14MHz時,ADC的精度將會顯著下降。STM32內(nèi)置CRC模塊的使用所有的STM32芯片都內(nèi)置了一個硬件的CRC計算模塊,可以很方便地應(yīng)用到需要進(jìn)行通信的程序中,這個CRC計算模塊使用常見的、在以太網(wǎng)中使用的計算多項式:X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 +X8 + X7 + X5 + X4 + X2 + X + 1寫成16進(jìn)制就是:0x04C11DB7使用這個內(nèi)置CRC模塊的方法非常簡單,既首先復(fù)位CRC模塊(設(shè)置CRC_CR=0x01),這個操作把CRC計算的余數(shù)初始化為0xFFFFFFFF;然后把要計算的數(shù)據(jù)按每32位分割為一組數(shù)據(jù)字,并逐個地把這組數(shù)據(jù)字寫入CRC_DR寄存器(既下圖中的綠色框),寫完所有的數(shù)據(jù)字后,就可以從CRC_DR寄存器(既下圖中的蘭色框)讀出計算的結(jié)果。注意:雖然讀寫操作都是針對CRC_DR寄存器,但實際上是訪問的不同物理寄存器。有幾點需要說明:1)上述算法中變量CRC,在每次循環(huán)結(jié)束包含了計算的余數(shù),它始終是向左移位(既從最低位向最高位移動),溢出的數(shù)據(jù)位被丟棄。2)輸入的數(shù)據(jù)始終是以32位為單位,如果原始數(shù)據(jù)少于32位,需要在低位補(bǔ)0,當(dāng)然也可以高位補(bǔ)0。3)假定輸入的DWORD數(shù)組中每個分量是按小端存儲。4)輸入數(shù)據(jù)是按照最高位最先計算,最低位最后計算的順序進(jìn)行。例如:如果輸入0x44434241,內(nèi)存中按字節(jié)存放的順序是:0x41, 0x42, 0x43, 0x44。計算的結(jié)果是:0xCF534AE1如果輸入0x41424344,內(nèi)存中按字節(jié)存放的順序是:0x44, 0x43, 0x42, 0x41。計算的結(jié)果是:0xABCF9A63STM32中定時器的時鐘源STM32中有多達(dá)8個定時器,其中TIM1和TIM8是能夠產(chǎn)生三對PWM互補(bǔ)輸出的高級定時器,常用于三相電機(jī)的驅(qū)動,它們的時鐘由APB2的輸出產(chǎn)生。其它6個為普通定時器,時鐘由APB1的輸出產(chǎn)生。下圖是STM32參考手冊上時鐘分配圖中,有關(guān)定時器時鐘部分的截圖:從圖中可以看出,定時器的時鐘不是直接來自APB1或APB2,而是來自于輸入為APB1或APB2的一個倍頻器,圖中的藍(lán)色部分。下面以定時器2~7的時鐘說明這個倍頻器的作用:當(dāng)APB1的預(yù)分頻系數(shù)為1時,這個倍頻器不起作用,定時器的時鐘頻率等于APB1的頻率;當(dāng)APB1的預(yù)分頻系數(shù)為其它數(shù)值(即預(yù)分頻系數(shù)為2、4、8或16)時,這個倍頻器起作用,定時器的時鐘頻率等于APB1的頻率兩倍。假定AHB=36MHz,因為APB1允許的最大頻率為36MHz,所以APB1的預(yù)分頻系數(shù)可以取任意數(shù)值;當(dāng)預(yù)分頻系數(shù)=1時,APB1=36MHz,TIM2~7的時鐘頻率=36MHz(倍頻器不起作用);當(dāng)預(yù)分頻系數(shù)=2時,APB1=18MHz,在倍頻器的作用下,TIM2~7的時鐘頻率=36MHz。有人會問,既然需要TIM2~7的時鐘頻率=36MHz,為什么不直接取APB1的預(yù)分頻系數(shù)=1?答案是:APB1不但要為TIM2~7提供時鐘,而且還要為其它外設(shè)提供時鐘;設(shè)置這個倍頻器可以在保證其它外設(shè)使用較低時鐘頻率時,TIM2~7仍能得到較高的時鐘頻率。再舉個例子:當(dāng)AHB=72MHz時,APB1的預(yù)分頻系數(shù)必須大于2,因為APB1的最大頻率只能為36MHz。如果APB1的預(yù)分頻系數(shù)=2,則因為這個倍頻器,TIM2~7仍然能夠得到72MHz的時鐘頻率。能夠使用更高的時鐘頻率,無疑提高了定時器的分辨率,這也正是設(shè)計這個倍頻器的初衷。STM32中外部中斷與外部事件這張圖是一條外部中斷線或外部事件線的示意圖,圖中信號線上劃有一條斜線,旁邊標(biāo)志19字樣的注釋,表示這樣的線路共有19套。圖中的藍(lán)色虛線箭頭,標(biāo)出了外部中斷信號的傳輸路徑,首先外部信號從編號1的芯片管腳進(jìn)入,經(jīng)過編號2的邊沿檢測電路,通過編號3的或門進(jìn)入中斷“掛起請求寄存器”,最后經(jīng)過編號4的與門輸出到NVIC中斷控制器;在這個通道上有4個控制選項,外部的信號首先經(jīng)過邊沿檢測電路,這個邊沿檢測電路受上升沿或下降沿選擇寄存器控制,用戶可以使用這兩個寄存器控制需要哪一個邊沿產(chǎn)生中斷,因為選擇上升沿或下降沿是分別受2個平行的寄存器控制,所以用戶可以同時選擇上升沿或下降沿,而如果只有一個寄存器控制,那么只能選擇一個邊沿了。接下來是編號3的或門,這個或門的另一個輸入是“軟件中斷/事件寄存器”,從這里可以看出,軟件可以優(yōu)先于外部信號請求一個中斷或事件,既當(dāng)“軟件中斷/事件寄存器”的對應(yīng)位為“1”時,不管外部信號如何,編號3的或門都會輸出有效信號。一個中斷或事件請求信號經(jīng)過編號3的或門后,進(jìn)入掛起請求寄存器,到此之前,中斷和事件的信號傳輸通路都是一致的,也就是說,掛起請求寄存器中記錄了外部信號的電平變化。外部請求信號最后經(jīng)過編號4的與門,向NVIC中斷控制器發(fā)出一個中斷請求,如果中斷屏蔽寄存器的對應(yīng)位為“0”,則該請求信號不能傳輸?shù)脚c門的另一端,實現(xiàn)了中斷的屏蔽。明白了外部中斷的請求機(jī)制,就很容易理解事件的請求機(jī)制了。圖中紅色虛線箭頭,標(biāo)出了外部事件信號的傳輸路徑,外部請求信號經(jīng)過編號3的或門后,進(jìn)入編號5的與門,這個與門的作用與編號4的與門類似,用于引入事件屏蔽寄存器的控制;最后脈沖發(fā)生器把一個跳變的信號轉(zhuǎn)變?yōu)橐粋€單脈沖,輸出到芯片中的其它功能模塊。在這張圖上我們也可以知道,從外部激勵信號來看,中斷和事件是沒有分別的,只是在芯片內(nèi)部分開,一路信號會向CPU產(chǎn)生中斷請求,另一路信號會向其它功能模塊發(fā)送脈沖觸發(fā)信號,其它功能模塊如何相應(yīng)這個觸發(fā)信號,則由對應(yīng)的模塊自己決定。在圖上部的APB總線和外設(shè)模塊接口,是每一個功能模塊都有的部分,CPU通過這樣的接口訪問各個功能模塊,這里就不再贅述了。STM32的USART發(fā)送數(shù)據(jù)時如何使用TXE和TC標(biāo)志在USART的發(fā)送端有2個寄存器,一個是程序可以看到的USART_DR寄存器(下圖中陰影部分的TDR),另一個是程序看不到的移位寄存器(下圖中陰影部分Transmit Shift Register)。對應(yīng)USART數(shù)據(jù)發(fā)送有兩個標(biāo)志,一個是TXE=發(fā)送數(shù)據(jù)寄存器空,另一個是TC=發(fā)送結(jié)束;對照下圖,當(dāng)TDR中的數(shù)據(jù)傳送到移位寄存器后,TXE被設(shè)置,此時移位寄存器開始向TX信號線按位傳輸數(shù)據(jù),但因為TDR已經(jīng)變空,程序可以把下一個要發(fā)送的字節(jié)(操作USART_DR)寫入TDR中,而不必等到移位寄存器中所有位發(fā)送結(jié)束,所有位發(fā)送結(jié)束時(送出停止位后)硬件會設(shè)置TC標(biāo)志。另一方面,在剛剛初始化好USART還沒有發(fā)送任何數(shù)據(jù)時,也會有TXE標(biāo)志,因為這時發(fā)送數(shù)據(jù)寄存器是空的。TXEIE和TCIE的意義很簡單,TXEIE允許在TXE標(biāo)志為'1'時產(chǎn)生中斷,而TCIE允許在TC標(biāo)志為'1'時產(chǎn)生中斷。至于什么時候使用哪個標(biāo)志,需要根據(jù)你的需要自己決定。但我認(rèn)為TXE允許程序有更充裕的時間填寫TDR寄存器,保證發(fā)送的數(shù)據(jù)流不間斷。TC可以讓程序知道發(fā)送結(jié)束的確切時間,有利于程序控制外部數(shù)據(jù)流的時序。STM32設(shè)置了很多非常有用和靈活的控制和狀態(tài)位,只要你很好地掌握了它們的用法,可以讓你的應(yīng)用更加精確和高效。在STM32中如何配置片內(nèi)外設(shè)使用的IO端口首先,一個外設(shè)經(jīng)過配置輸入的時鐘和初始化后即被激活(開啟)。如果需要使用該外設(shè)的輸入輸出管腳,則需要配置相應(yīng)的GPIO端口;否則該外設(shè)對應(yīng)的輸入輸出管腳可以做普通GPIO管腳使用。
2017-10-11 09:30:36

帶你走進(jìn)STM32的世界

STM32F10xx時鐘系統(tǒng)框圖:時鐘是整個系統(tǒng)的脈搏下圖是STM32F10xx時鐘系統(tǒng)的框圖,通過這個圖可以一目了然地看到各個部件時鐘產(chǎn)生的路徑,還可以很方便地計算出各部分的時鐘頻率。STM32的四個時鐘源(HSI、HSE、LSI和LSE)也在圖中標(biāo)出;圖中間的時鐘監(jiān)視系統(tǒng)(CSS)是在很多ST7的單片機(jī)中就出現(xiàn)的安全設(shè)置。特別注意:圖的右邊,輸出定時器時鐘之前有一個乘法器,它的操作不是由程序控制的,是由硬件根據(jù)前一級的APB預(yù)分頻器的輸出自動選擇,當(dāng)APB預(yù)分頻器的分頻因子為1時,這個乘法器無作用;當(dāng)APB預(yù)分頻器的分頻因子大于1時,這個乘法器做倍頻操作,即將APB預(yù)分頻器輸出的頻率乘2,這樣可以保證定時器可以得到最高的72MHz時鐘脈沖。STM32上很多管腳功能可以重新映射STM32上有很多I/O口,也有很多的內(nèi)置外設(shè),為了節(jié)省引出管腳,這些內(nèi)置外設(shè)都是與I/O口共用引出管腳,ST稱其為I/O管腳的復(fù)用功能,相信這點大家都很清楚,因為基本上所有單片機(jī)都是這么做的。但不知有多少人知道,很多復(fù)用功能的引出腳可以通過重映射,從不同的I/O管腳引出,即復(fù)用功能的引出腳位是可通過程序改變的。這一功能的直接好處是,PCB電路板的設(shè)計人員可以在需要的情況下,不必把某些信號在板上繞一大圈完成聯(lián)接,方便了PCB的設(shè)計同時潛在地減少了信號的交叉干擾。復(fù)用功能引出腳的重映射功能所帶來的潛在好處是,在你不需要同時使用多個復(fù)用功能時,虛擬地增加復(fù)用功能的數(shù)量。例如,STM32上最多有3個USART接口,當(dāng)你需要更多UART接口而又不需要同時使用它們時,可以通過這個重映射功能實現(xiàn)更多的UART接口。下述復(fù)用功能的引出腳具有重映射功能:- 晶體振蕩器的引腳在不接晶體時,可以作為普通I/O口- CAN模塊- JTAG調(diào)試接口- 大部分定時器的引出接口- 大部分USART的引出接口- I2C1的引出接口- SPI1的引出接口詳細(xì)內(nèi)容請看STM32的技術(shù)參考手冊。請務(wù)必記住:如果使用了任意一種重映射功能,在初始化和使用之前,一定要打開AFIO時鐘。下圖示出了部分復(fù)用功能引出腳的重映射結(jié)果:【演示實例】一個在EK-STM32F板子上的RTC作為calender的例子硬件連接:串口線連至板子的UART-0端口。超級終端設(shè)置為:Bits Per seconds: 115200Data bits: 8Parity: noneStop bits: 1Flow control Hardware板子第一次跑這個程序時,進(jìn)入時間配置。根據(jù)超級終端上的提示,一次輸入年,月,日,時,分,秒(1月就輸入01,10月直接輸入10;同理3號就輸入03)隨后當(dāng)前的時間就顯示到了超級終端上,并且每秒刷新。沒有斷電的情況下再跑這個程序,由于看到bake up區(qū)域有被設(shè)置過時間的標(biāo)志,不再進(jìn)入時間設(shè)置階段,而是直接到時間顯示間斷,在超級終端上,每秒刷新。當(dāng)然如果在EK-STM32F板子上將Vbat和電池相接,具體就是:將紅色的電源跳線帽中的從下往上數(shù)的第5個取下,從原來的水平放置改成豎直放置(和上面的VBAT相連)。就算斷電,只要再上電,看到back up區(qū)域中的記號,一樣直接進(jìn)入時間顯示。因為斷電后,back up區(qū)域由電池供電,其中記錄的記號不會由于系統(tǒng)掉電而消失。【演示實例】使用EK-STM32F板測量STM32的功耗這個例子演示了如何使用EK-STM32F開發(fā)評估板測量STM32F103VBT6在各種模式下的功耗。例子中演示了如何進(jìn)入STM32的各種模式(RUN、SLEEP、STOP、STANDBY),使用這個例子您可以通過EK-STM32F板上的紅色跳線(VDD、VREF+和VDDA)測量功耗。本實例首先通過UART與Windows的Hyperterminal通信,用戶可以選擇需要進(jìn)入的功耗模式,然后這個例程把用戶選好的配置存到后備寄存器,再次復(fù)位后STM32將進(jìn)入之前選定的模式。附件包中包含了一個說明文件,詳細(xì)說明了如何設(shè)置板上的跳線和操作的過程。STM32 GPIO的十大優(yōu)越功能綜述前幾天Hotpower邀請大家討論一下GPIO的功能、性能和優(yōu)缺點(STM32的GPIO很強(qiáng)大~~~),等了幾天沒見太多人發(fā)言,但綜合來看提到了3點:1)真雙向IO,2)速度快,3)寄存器功能重復(fù)。關(guān)于第3點有說好,有說多余的,見仁見智。下面我就在做個拋磚引玉,根據(jù)ST手冊上的內(nèi)容,簡單地綜述一下GPIO的功能:一、共有8種模式,可以通過編程選擇:1. 浮空輸入2. 帶上拉輸入3. 帶下拉輸入4. 模擬輸入5. 開漏輸出——(此模式可實現(xiàn)hotpower說的真雙向IO)6. 推挽輸出7. 復(fù)用功能的推挽輸出8. 復(fù)用功能的開漏輸出模式7和模式8需根據(jù)具體的復(fù)用功能決定。二、專門的寄存器(GPIOx_BSRR和GPIOx_BRR)實現(xiàn)對GPIO口的原子操作,即回避了設(shè)置或清除I/O端口時的“讀-修改-寫”操作,使得設(shè)置或清除I/O端口的操作不會被中斷處理打斷而造成誤動作。三、每個GPIO口都可以作為外部中斷的輸入,便于系統(tǒng)靈活設(shè)計。四、I/O口的輸出模式下,有3種輸出速度可選(2MHz、10MHz和50MHz),這有利于噪聲控制。五、所有I/O口兼容CMOS和TTL,多數(shù)I/O口兼容5V電平。六、大電流驅(qū)動能力:GPIO口在高低電平分別為0.4V和VDD-0.4V時,可以提供或吸收8mA電流;如果把輸入輸出電平分別放寬到1.3V和VDD-1.3V時,可以提供或吸收20mA電流。七、具有獨(dú)立的喚醒I/O口。八、很多I/O口的復(fù)用功能可以重新映射,見:你知道嗎?STM32上很多管腳功能可以重新映射。九、GPIO口的配置具有上鎖功能,當(dāng)配置好GPIO口后,可以通過程序鎖住配置組合,直到下次芯片復(fù)位才能解鎖。此功能非常有利于在程序跑飛的情況下保護(hù)系統(tǒng)中其他的設(shè)備,不會因為某些I/O口的配置被改變而損壞——如一個輸入口變成輸出口并輸出電流。十、輸出模式下輸入寄存器依然有效,在開漏配置模式下實現(xiàn)真正的雙向I/O功能。STM32內(nèi)置參照電壓的使用每個STM32芯片都有一個內(nèi)部的參照電壓,相當(dāng)于一個標(biāo)準(zhǔn)電壓測量點,在芯片內(nèi)部連接到ADC1的通道17。根據(jù)數(shù)據(jù)手冊中的數(shù)據(jù),這個參照電壓的典型值是1.20V,最小值是1.16V,最大值是1.24V。這個電壓基本不隨外部供電電壓的變化而變化。不少人把這個參照電壓與ADC的參考電壓混淆。ADC的參考電壓都是通過Vref+提供的。100腳以上的型號,Vref+引到了片外,引腳名稱為Vref+;64腳和小于64腳的型號,Vref+在芯片內(nèi)部與VCC信號線相連,沒有引到片外,這樣AD的參考電壓就是VCC上的電壓。在ADC的外部參考電壓波動,或因為Vref+在芯片內(nèi)部與VCC相連而VCC變化的情況下,如果對于ADC測量的準(zhǔn)確性要求不高時,可以使用這個內(nèi)部參照電壓得到ADC測量的電壓值。具體方法是在測量某個通道的電壓值之前,先讀出參照電壓的ADC測量數(shù)值,記為ADrefint;再讀出要測量通道的ADC轉(zhuǎn)換數(shù)值,記為ADchx;則要測量的電壓為:Vchx = Vrefint * (ADchx/ADrefint)其中Vrefint為參照電壓=1.20V。上述方法在使用內(nèi)置溫度傳感器對因為溫度變化,對系統(tǒng)參數(shù)進(jìn)行補(bǔ)償時就十分有效。STM32的ADC輸入通道配置STM32中最多有3個ADC模塊,每個模塊對應(yīng)的通道不完全重疊。下圖是STM32F103CDE數(shù)據(jù)手冊中的總框圖的左下角,圖中可以看出有8個外部ADC管腳分別接到了3個ADC模塊,有8個外部ADC管腳只分別接到了2個ADC模塊,還有5個外部ADC管腳只接到了ADC3模塊,這樣總共是21個通道。下表是這些ADC管腳與每個ADC模塊的對應(yīng)關(guān)系,表中可以看出ADC1還有2個內(nèi)部通道,分別接到內(nèi)部的溫度傳感器和內(nèi)部的參照電壓: 關(guān)于STM32 ADC速度的問題STM32F103xx系列稱為增強(qiáng)型產(chǎn)品,增強(qiáng)型產(chǎn)品的最高時鐘頻率可以達(dá)到72MHz。增強(qiáng)型產(chǎn)品的英文名稱為Performance Line。STM32F101xx系列稱為基本型產(chǎn)品,基本型產(chǎn)品的最高時鐘頻率可以達(dá)到36MHz。基本型產(chǎn)品的英文名稱為Access Line。根據(jù)設(shè)計,當(dāng)ADC模塊的頻率為14MHz時,可以達(dá)到ADC的最快采樣轉(zhuǎn)換速度。要得到14MHz的ADC頻率,就要求SYSCLK的頻率是14MHz的倍數(shù),即14MHz、28MHz、42MHz、56MHz、70MHz、84MHz等;對于基本型產(chǎn)品14MHz和28MHz處于它的最大允許頻率范圍內(nèi);對于增強(qiáng)型產(chǎn)品,14MHz、28MHz、42MHz、56MHz和70MHz幾種頻率都在它的最大允許頻率范圍內(nèi),但因為ADC預(yù)分頻器的分頻系數(shù)只有2、4、6、8這幾個,使用70MHz不能得到最大的14MHz,所以要想得到最快的ADC轉(zhuǎn)換速度,在增強(qiáng)型產(chǎn)品上能用的最快SYSCLK頻率是56MHz。ADC的速度由2個參數(shù)決定,它是采樣時間和轉(zhuǎn)換時間之和: 即:TCONV = 采樣時間 + 12.5個ADC時鐘周期在STM32中,ADC的采樣時間是由用戶程序在一組預(yù)定的數(shù)值中選擇,按照ADC的時鐘周期計算,共有8種選擇:1.5、7.5、13.5、28.5、41.5、55.5、71.5和239.5按最小的1.5個時鐘周期的采樣時間計算,最短的TCONV等于14個時鐘周期,如果ADC的時鐘頻率是14MHz,則ADC的速度為每秒100萬次。注意:當(dāng)ADC的時鐘頻率超過14MHz時,ADC的精度將會顯著下降。STM32內(nèi)置CRC模塊的使用所有的STM32芯片都內(nèi)置了一個硬件的CRC計算模塊,可以很方便地應(yīng)用到需要進(jìn)行通信的程序中,這個CRC計算模塊使用常見的、在以太網(wǎng)中使用的計算多項式:X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 +X8 + X7 + X5 + X4 + X2 + X + 1寫成16進(jìn)制就是:0x04C11DB7使用這個內(nèi)置CRC模塊的方法非常簡單,既首先復(fù)位CRC模塊(設(shè)置CRC_CR=0x01),這個操作把CRC計算的余數(shù)初始化為0xFFFFFFFF;然后把要計算的數(shù)據(jù)按每32位分割為一組數(shù)據(jù)字,并逐個地把這組數(shù)據(jù)字寫入CRC_DR寄存器(既下圖中的綠色框),寫完所有的數(shù)據(jù)字后,就可以從CRC_DR寄存器(既下圖中的蘭色框)讀出計算的結(jié)果。注意:雖然讀寫操作都是針對CRC_DR寄存器,但實際上是訪問的不同物理寄存器。有幾點需要說明:1)上述算法中變量CRC,在每次循環(huán)結(jié)束包含了計算的余數(shù),它始終是向左移位(既從最低位向最高位移動),溢出的數(shù)據(jù)位被丟棄。2)輸入的數(shù)據(jù)始終是以32位為單位,如果原始數(shù)據(jù)少于32位,需要在低位補(bǔ)0,當(dāng)然也可以高位補(bǔ)0。3)假定輸入的DWORD數(shù)組中每個分量是按小端存儲。4)輸入數(shù)據(jù)是按照最高位最先計算,最低位最后計算的順序進(jìn)行。例如:如果輸入0x44434241,內(nèi)存中按字節(jié)存放的順序是:0x41, 0x42, 0x43, 0x44。計算的結(jié)果是:0xCF534AE1如果輸入0x41424344,內(nèi)存中按字節(jié)存放的順序是:0x44, 0x43, 0x42, 0x41。計算的結(jié)果是:0xABCF9A63STM32中定時器的時鐘源STM32中有多達(dá)8個定時器,其中TIM1和TIM8是能夠產(chǎn)生三對PWM互補(bǔ)輸出的高級定時器,常用于三相電機(jī)的驅(qū)動,它們的時鐘由APB2的輸出產(chǎn)生。其它6個為普通定時器,時鐘由APB1的輸出產(chǎn)生。下圖是STM32參考手冊上時鐘分配圖中,有關(guān)定時器時鐘部分的截圖:從圖中可以看出,定時器的時鐘不是直接來自APB1或APB2,而是來自于輸入為APB1或APB2的一個倍頻器,圖中的藍(lán)色部分。下面以定時器2~7的時鐘說明這個倍頻器的作用:當(dāng)APB1的預(yù)分頻系數(shù)為1時,這個倍頻器不起作用,定時器的時鐘頻率等于APB1的頻率;當(dāng)APB1的預(yù)分頻系數(shù)為其它數(shù)值(即預(yù)分頻系數(shù)為2、4、8或16)時,這個倍頻器起作用,定時器的時鐘頻率等于APB1的頻率兩倍。假定AHB=36MHz,因為APB1允許的最大頻率為36MHz,所以APB1的預(yù)分頻系數(shù)可以取任意數(shù)值;當(dāng)預(yù)分頻系數(shù)=1時,APB1=36MHz,TIM2~7的時鐘頻率=36MHz(倍頻器不起作用);當(dāng)預(yù)分頻系數(shù)=2時,APB1=18MHz,在倍頻器的作用下,TIM2~7的時鐘頻率=36MHz。有人會問,既然需要TIM2~7的時鐘頻率=36MHz,為什么不直接取APB1的預(yù)分頻系數(shù)=1?答案是:APB1不但要為TIM2~7提供時鐘,而且還要為其它外設(shè)提供時鐘;設(shè)置這個倍頻器可以在保證其它外設(shè)使用較低時鐘頻率時,TIM2~7仍能得到較高的時鐘頻率。再舉個例子:當(dāng)AHB=72MHz時,APB1的預(yù)分頻系數(shù)必須大于2,因為APB1的最大頻率只能為36MHz。如果APB1的預(yù)分頻系數(shù)=2,則因為這個倍頻器,TIM2~7仍然能夠得到72MHz的時鐘頻率。能夠使用更高的時鐘頻率,無疑提高了定時器的分辨率,這也正是設(shè)計這個倍頻器的初衷。STM32中外部中斷與外部事件這張圖是一條外部中斷線或外部事件線的示意圖,圖中信號線上劃有一條斜線,旁邊標(biāo)志19字樣的注釋,表示這樣的線路共有19套。圖中的藍(lán)色虛線箭頭,標(biāo)出了外部中斷信號的傳輸路徑,首先外部信號從編號1的芯片管腳進(jìn)入,經(jīng)過編號2的邊沿檢測電路,通過編號3的或門進(jìn)入中斷“掛起請求寄存器”,最后經(jīng)過編號4的與門輸出到NVIC中斷控制器;在這個通道上有4個控制選項,外部的信號首先經(jīng)過邊沿檢測電路,這個邊沿檢測電路受上升沿或下降沿選擇寄存器控制,用戶可以使用這兩個寄存器控制需要哪一個邊沿產(chǎn)生中斷,因為選擇上升沿或下降沿是分別受2個平行的寄存器控制,所以用戶可以同時選擇上升沿或下降沿,而如果只有一個寄存器控制,那么只能選擇一個邊沿了。接下來是編號3的或門,這個或門的另一個輸入是“軟件中斷/事件寄存器”,從這里可以看出,軟件可以優(yōu)先于外部信號請求一個中斷或事件,既當(dāng)“軟件中斷/事件寄存器”的對應(yīng)位為“1”時,不管外部信號如何,編號3的或門都會輸出有效信號。一個中斷或事件請求信號經(jīng)過編號3的或門后,進(jìn)入掛起請求寄存器,到此之前,中斷和事件的信號傳輸通路都是一致的,也就是說,掛起請求寄存器中記錄了外部信號的電平變化。外部請求信號最后經(jīng)過編號4的與門,向NVIC中斷控制器發(fā)出一個中斷請求,如果中斷屏蔽寄存器的對應(yīng)位為“0”,則該請求信號不能傳輸?shù)脚c門的另一端,實現(xiàn)了中斷的屏蔽。明白了外部中斷的請求機(jī)制,就很容易理解事件的請求機(jī)制了。圖中紅色虛線箭頭,標(biāo)出了外部事件信號的傳輸路徑,外部請求信號經(jīng)過編號3的或門后,進(jìn)入編號5的與門,這個與門的作用與編號4的與門類似,用于引入事件屏蔽寄存器的控制;最后脈沖發(fā)生器把一個跳變的信號轉(zhuǎn)變?yōu)橐粋€單脈沖,輸出到芯片中的其它功能模塊。在這張圖上我們也可以知道,從外部激勵信號來看,中斷和事件是沒有分別的,只是在芯片內(nèi)部分開,一路信號會向CPU產(chǎn)生中斷請求,另一路信號會向其它功能模塊發(fā)送脈沖觸發(fā)信號,其它功能模塊如何相應(yīng)這個觸發(fā)信號,則由對應(yīng)的模塊自己決定。在圖上部的APB總線和外設(shè)模塊接口,是每一個功能模塊都有的部分,CPU通過這樣的接口訪問各個功能模塊,這里就不再贅述了。STM32的USART發(fā)送數(shù)據(jù)時如何使用TXE和TC標(biāo)志在USART的發(fā)送端有2個寄存器,一個是程序可以看到的USART_DR寄存器(下圖中陰影部分的TDR),另一個是程序看不到的移位寄存器(下圖中陰影部分Transmit Shift Register)。對應(yīng)USART數(shù)據(jù)發(fā)送有兩個標(biāo)志,一個是TXE=發(fā)送數(shù)據(jù)寄存器空,另一個是TC=發(fā)送結(jié)束;對照下圖,當(dāng)TDR中的數(shù)據(jù)傳送到移位寄存器后,TXE被設(shè)置,此時移位寄存器開始向TX信號線按位傳輸數(shù)據(jù),但因為TDR已經(jīng)變空,程序可以把下一個要發(fā)送的字節(jié)(操作USART_DR)寫入TDR中,而不必等到移位寄存器中所有位發(fā)送結(jié)束,所有位發(fā)送結(jié)束時(送出停止位后)硬件會設(shè)置TC標(biāo)志。另一方面,在剛剛初始化好USART還沒有發(fā)送任何數(shù)據(jù)時,也會有TXE標(biāo)志,因為這時發(fā)送數(shù)據(jù)寄存器是空的。TXEIE和TCIE的意義很簡單,TXEIE允許在TXE標(biāo)志為'1'時產(chǎn)生中斷,而TCIE允許在TC標(biāo)志為'1'時產(chǎn)生中斷。至于什么時候使用哪個標(biāo)志,需要根據(jù)你的需要自己決定。但我認(rèn)為TXE允許程序有更充裕的時間填寫TDR寄存器,保證發(fā)送的數(shù)據(jù)流不間斷。TC可以讓程序知道發(fā)送結(jié)束的確切時間,有利于程序控制外部數(shù)據(jù)流的時序。STM32設(shè)置了很多非常有用和靈活的控制和狀態(tài)位,只要你很好地掌握了它們的用法,可以讓你的應(yīng)用更加精確和高效。在STM32中如何配置片內(nèi)外設(shè)使用的IO端口首先,一個外設(shè)經(jīng)過配置輸入的時鐘和初始化后即被激活(開啟)。如果需要使用該外設(shè)的輸入輸出管腳,則需要配置相應(yīng)的GPIO端口;否則該外設(shè)對應(yīng)的輸入輸出管腳可以做普通GPIO管腳使用。
2016-09-21 09:43:16

帶你走進(jìn)STM32的世界

STM32F10xx時鐘系統(tǒng)框圖:時鐘是整個系統(tǒng)的脈搏下圖是STM32F10xx時鐘系統(tǒng)的框圖,通過這個圖可以一目了然地看到各個部件時鐘產(chǎn)生的路徑,還可以很方便地計算出各部分的時鐘頻率。STM32的四個時鐘源(HSI、HSE、LSI和LSE)也在圖中標(biāo)出;圖中間的時鐘監(jiān)視系統(tǒng)(CSS)是在很多ST7的單片機(jī)中就出現(xiàn)的安全設(shè)置。特別注意:圖的右邊,輸出定時器時鐘之前有一個乘法器,它的操作不是由程序控制的,是由硬件根據(jù)前一級的APB預(yù)分頻器的輸出自動選擇,當(dāng)APB預(yù)分頻器的分頻因子為1時,這個乘法器無作用;當(dāng)APB預(yù)分頻器的分頻因子大于1時,這個乘法器做倍頻操作,即將APB預(yù)分頻器輸出的頻率乘2,這樣可以保證定時器可以得到最高的72MHz時鐘脈沖。STM32上很多管腳功能可以重新映射STM32上有很多I/O口,也有很多的內(nèi)置外設(shè),為了節(jié)省引出管腳,這些內(nèi)置外設(shè)都是與I/O口共用引出管腳,ST稱其為I/O管腳的復(fù)用功能,相信這點大家都很清楚,因為基本上所有單片機(jī)都是這么做的。但不知有多少人知道,很多復(fù)用功能的引出腳可以通過重映射,從不同的I/O管腳引出,即復(fù)用功能的引出腳位是可通過程序改變的。這一功能的直接好處是,PCB電路板的設(shè)計人員可以在需要的情況下,不必把某些信號在板上繞一大圈完成聯(lián)接,方便了PCB的設(shè)計同時潛在地減少了信號的交叉干擾。復(fù)用功能引出腳的重映射功能所帶來的潛在好處是,在你不需要同時使用多個復(fù)用功能時,虛擬地增加復(fù)用功能的數(shù)量。例如,STM32上最多有3個USART接口,當(dāng)你需要更多UART接口而又不需要同時使用它們時,可以通過這個重映射功能實現(xiàn)更多的UART接口。下述復(fù)用功能的引出腳具有重映射功能:- 晶體振蕩器的引腳在不接晶體時,可以作為普通I/O口- CAN模塊- JTAG調(diào)試接口- 大部分定時器的引出接口- 大部分USART的引出接口- I2C1的引出接口- SPI1的引出接口詳細(xì)內(nèi)容請看STM32的技術(shù)參考手冊。請務(wù)必記住:如果使用了任意一種重映射功能,在初始化和使用之前,一定要打開AFIO時鐘。下圖示出了部分復(fù)用功能引出腳的重映射結(jié)果:【演示實例】一個在EK-STM32F板子上的RTC作為calender的例子硬件連接:串口線連至板子的UART-0端口。超級終端設(shè)置為:Bits Per seconds: 115200Data bits: 8Parity: noneStop bits: 1Flow control Hardware板子第一次跑這個程序時,進(jìn)入時間配置。根據(jù)超級終端上的提示,一次輸入年,月,日,時,分,秒(1月就輸入01,10月直接輸入10;同理3號就輸入03)隨后當(dāng)前的時間就顯示到了超級終端上,并且每秒刷新。沒有斷電的情況下再跑這個程序,由于看到bake up區(qū)域有被設(shè)置過時間的標(biāo)志,不再進(jìn)入時間設(shè)置階段,而是直接到時間顯示間斷,在超級終端上,每秒刷新。當(dāng)然如果在EK-STM32F板子上將Vbat和電池相接,具體就是:將紅色的電源跳線帽中的從下往上數(shù)的第5個取下,從原來的水平放置改成豎直放置(和上面的VBAT相連)。就算斷電,只要再上電,看到back up區(qū)域中的記號,一樣直接進(jìn)入時間顯示。因為斷電后,back up區(qū)域由電池供電,其中記錄的記號不會由于系統(tǒng)掉電而消失。【演示實例】使用EK-STM32F板測量STM32的功耗這個例子演示了如何使用EK-STM32F開發(fā)評估板測量STM32F103VBT6在各種模式下的功耗。例子中演示了如何進(jìn)入STM32的各種模式(RUN、SLEEP、STOP、STANDBY),使用這個例子您可以通過EK-STM32F板上的紅色跳線(VDD、VREF+和VDDA)測量功耗。本實例首先通過UART與Windows的Hyperterminal通信,用戶可以選擇需要進(jìn)入的功耗模式,然后這個例程把用戶選好的配置存到后備寄存器,再次復(fù)位后STM32將進(jìn)入之前選定的模式。附件包中包含了一個說明文件,詳細(xì)說明了如何設(shè)置板上的跳線和操作的過程。STM32 GPIO的十大優(yōu)越功能綜述前幾天Hotpower邀請大家討論一下GPIO的功能、性能和優(yōu)缺點(STM32的GPIO很強(qiáng)大~~~),等了幾天沒見太多人發(fā)言,但綜合來看提到了3點:1)真雙向IO,2)速度快,3)寄存器功能重復(fù)。關(guān)于第3點有說好,有說多余的,見仁見智。下面我就在做個拋磚引玉,根據(jù)ST手冊上的內(nèi)容,簡單地綜述一下GPIO的功能:一、共有8種模式,可以通過編程選擇:1. 浮空輸入2. 帶上拉輸入3. 帶下拉輸入4. 模擬輸入5. 開漏輸出——(此模式可實現(xiàn)hotpower說的真雙向IO)6. 推挽輸出7. 復(fù)用功能的推挽輸出8. 復(fù)用功能的開漏輸出模式7和模式8需根據(jù)具體的復(fù)用功能決定。二、專門的寄存器(GPIOx_BSRR和GPIOx_BRR)實現(xiàn)對GPIO口的原子操作,即回避了設(shè)置或清除I/O端口時的“讀-修改-寫”操作,使得設(shè)置或清除I/O端口的操作不會被中斷處理打斷而造成誤動作。三、每個GPIO口都可以作為外部中斷的輸入,便于系統(tǒng)靈活設(shè)計。四、I/O口的輸出模式下,有3種輸出速度可選(2MHz、10MHz和50MHz),這有利于噪聲控制。五、所有I/O口兼容CMOS和TTL,多數(shù)I/O口兼容5V電平。六、大電流驅(qū)動能力:GPIO口在高低電平分別為0.4V和VDD-0.4V時,可以提供或吸收8mA電流;如果把輸入輸出電平分別放寬到1.3V和VDD-1.3V時,可以提供或吸收20mA電流。七、具有獨(dú)立的喚醒I/O口。八、很多I/O口的復(fù)用功能可以重新映射,見:你知道嗎?STM32上很多管腳功能可以重新映射。九、GPIO口的配置具有上鎖功能,當(dāng)配置好GPIO口后,可以通過程序鎖住配置組合,直到下次芯片復(fù)位才能解鎖。此功能非常有利于在程序跑飛的情況下保護(hù)系統(tǒng)中其他的設(shè)備,不會因為某些I/O口的配置被改變而損壞——如一個輸入口變成輸出口并輸出電流。十、輸出模式下輸入寄存器依然有效,在開漏配置模式下實現(xiàn)真正的雙向I/O功能。STM32內(nèi)置參照電壓的使用每個STM32芯片都有一個內(nèi)部的參照電壓,相當(dāng)于一個標(biāo)準(zhǔn)電壓測量點,在芯片內(nèi)部連接到ADC1的通道17。根據(jù)數(shù)據(jù)手冊中的數(shù)據(jù),這個參照電壓的典型值是1.20V,最小值是1.16V,最大值是1.24V。這個電壓基本不隨外部供電電壓的變化而變化。不少人把這個參照電壓與ADC的參考電壓混淆。ADC的參考電壓都是通過Vref+提供的。100腳以上的型號,Vref+引到了片外,引腳名稱為Vref+;64腳和小于64腳的型號,Vref+在芯片內(nèi)部與VCC信號線相連,沒有引到片外,這樣AD的參考電壓就是VCC上的電壓。在ADC的外部參考電壓波動,或因為Vref+在芯片內(nèi)部與VCC相連而VCC變化的情況下,如果對于ADC測量的準(zhǔn)確性要求不高時,可以使用這個內(nèi)部參照電壓得到ADC測量的電壓值。具體方法是在測量某個通道的電壓值之前,先讀出參照電壓的ADC測量數(shù)值,記為ADrefint;再讀出要測量通道的ADC轉(zhuǎn)換數(shù)值,記為ADchx;則要測量的電壓為:Vchx = Vrefint * (ADchx/ADrefint)其中Vrefint為參照電壓=1.20V。上述方法在使用內(nèi)置溫度傳感器對因為溫度變化,對系統(tǒng)參數(shù)進(jìn)行補(bǔ)償時就十分有效。STM32的ADC輸入通道配置STM32中最多有3個ADC模塊,每個模塊對應(yīng)的通道不完全重疊。下圖是STM32F103CDE數(shù)據(jù)手冊中的總框圖的左下角,圖中可以看出有8個外部ADC管腳分別接到了3個ADC模塊,有8個外部ADC管腳只分別接到了2個ADC模塊,還有5個外部ADC管腳只接到了ADC3模塊,這樣總共是21個通道。下表是這些ADC管腳與每個ADC模塊的對應(yīng)關(guān)系,表中可以看出ADC1還有2個內(nèi)部通道,分別接到內(nèi)部的溫度傳感器和內(nèi)部的參照電壓: 關(guān)于STM32 ADC速度的問題STM32F103xx系列稱為增強(qiáng)型產(chǎn)品,增強(qiáng)型產(chǎn)品的最高時鐘頻率可以達(dá)到72MHz。增強(qiáng)型產(chǎn)品的英文名稱為Performance Line。STM32F101xx系列稱為基本型產(chǎn)品,基本型產(chǎn)品的最高時鐘頻率可以達(dá)到36MHz。基本型產(chǎn)品的英文名稱為Access Line。根據(jù)設(shè)計,當(dāng)ADC模塊的頻率為14MHz時,可以達(dá)到ADC的最快采樣轉(zhuǎn)換速度。要得到14MHz的ADC頻率,就要求SYSCLK的頻率是14MHz的倍數(shù),即14MHz、28MHz、42MHz、56MHz、70MHz、84MHz等;對于基本型產(chǎn)品14MHz和28MHz處于它的最大允許頻率范圍內(nèi);對于增強(qiáng)型產(chǎn)品,14MHz、28MHz、42MHz、56MHz和70MHz幾種頻率都在它的最大允許頻率范圍內(nèi),但因為ADC預(yù)分頻器的分頻系數(shù)只有2、4、6、8這幾個,使用70MHz不能得到最大的14MHz,所以要想得到最快的ADC轉(zhuǎn)換速度,在增強(qiáng)型產(chǎn)品上能用的最快SYSCLK頻率是56MHz。ADC的速度由2個參數(shù)決定,它是采樣時間和轉(zhuǎn)換時間之和: 即:TCONV = 采樣時間 + 12.5個ADC時鐘周期在STM32中,ADC的采樣時間是由用戶程序在一組預(yù)定的數(shù)值中選擇,按照ADC的時鐘周期計算,共有8種選擇:1.5、7.5、13.5、28.5、41.5、55.5、71.5和239.5按最小的1.5個時鐘周期的采樣時間計算,最短的TCONV等于14個時鐘周期,如果ADC的時鐘頻率是14MHz,則ADC的速度為每秒100萬次。注意:當(dāng)ADC的時鐘頻率超過14MHz時,ADC的精度將會顯著下降。STM32內(nèi)置CRC模塊的使用所有的STM32芯片都內(nèi)置了一個硬件的CRC計算模塊,可以很方便地應(yīng)用到需要進(jìn)行通信的程序中,這個CRC計算模塊使用常見的、在以太網(wǎng)中使用的計算多項式:X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 +X8 + X7 + X5 + X4 + X2 + X + 1寫成16進(jìn)制就是:0x04C11DB7使用這個內(nèi)置CRC模塊的方法非常簡單,既首先復(fù)位CRC模塊(設(shè)置CRC_CR=0x01),這個操作把CRC計算的余數(shù)初始化為0xFFFFFFFF;然后把要計算的數(shù)據(jù)按每32位分割為一組數(shù)據(jù)字,并逐個地把這組數(shù)據(jù)字寫入CRC_DR寄存器(既下圖中的綠色框),寫完所有的數(shù)據(jù)字后,就可以從CRC_DR寄存器(既下圖中的蘭色框)讀出計算的結(jié)果。注意:雖然讀寫操作都是針對CRC_DR寄存器,但實際上是訪問的不同物理寄存器。有幾點需要說明:1)上述算法中變量CRC,在每次循環(huán)結(jié)束包含了計算的余數(shù),它始終是向左移位(既從最低位向最高位移動),溢出的數(shù)據(jù)位被丟棄。2)輸入的數(shù)據(jù)始終是以32位為單位,如果原始數(shù)據(jù)少于32位,需要在低位補(bǔ)0,當(dāng)然也可以高位補(bǔ)0。3)假定輸入的DWORD數(shù)組中每個分量是按小端存儲。4)輸入數(shù)據(jù)是按照最高位最先計算,最低位最后計算的順序進(jìn)行。例如:如果輸入0x44434241,內(nèi)存中按字節(jié)存放的順序是:0x41, 0x42, 0x43, 0x44。計算的結(jié)果是:0xCF534AE1如果輸入0x41424344,內(nèi)存中按字節(jié)存放的順序是:0x44, 0x43, 0x42, 0x41。計算的結(jié)果是:0xABCF9A63STM32中定時器的時鐘源STM32中有多達(dá)8個定時器,其中TIM1和TIM8是能夠產(chǎn)生三對PWM互補(bǔ)輸出的高級定時器,常用于三相電機(jī)的驅(qū)動,它們的時鐘由APB2的輸出產(chǎn)生。其它6個為普通定時器,時鐘由APB1的輸出產(chǎn)生。下圖是STM32參考手冊上時鐘分配圖中,有關(guān)定時器時鐘部分的截圖:從圖中可以看出,定時器的時鐘不是直接來自APB1或APB2,而是來自于輸入為APB1或APB2的一個倍頻器,圖中的藍(lán)色部分。下面以定時器2~7的時鐘說明這個倍頻器的作用:當(dāng)APB1的預(yù)分頻系數(shù)為1時,這個倍頻器不起作用,定時器的時鐘頻率等于APB1的頻率;當(dāng)APB1的預(yù)分頻系數(shù)為其它數(shù)值(即預(yù)分頻系數(shù)為2、4、8或16)時,這個倍頻器起作用,定時器的時鐘頻率等于APB1的頻率兩倍。假定AHB=36MHz,因為APB1允許的最大頻率為36MHz,所以APB1的預(yù)分頻系數(shù)可以取任意數(shù)值;當(dāng)預(yù)分頻系數(shù)=1時,APB1=36MHz,TIM2~7的時鐘頻率=36MHz(倍頻器不起作用);當(dāng)預(yù)分頻系數(shù)=2時,APB1=18MHz,在倍頻器的作用下,TIM2~7的時鐘頻率=36MHz。有人會問,既然需要TIM2~7的時鐘頻率=36MHz,為什么不直接取APB1的預(yù)分頻系數(shù)=1?答案是:APB1不但要為TIM2~7提供時鐘,而且還要為其它外設(shè)提供時鐘;設(shè)置這個倍頻器可以在保證其它外設(shè)使用較低時鐘頻率時,TIM2~7仍能得到較高的時鐘頻率。再舉個例子:當(dāng)AHB=72MHz時,APB1的預(yù)分頻系數(shù)必須大于2,因為APB1的最大頻率只能為36MHz。如果APB1的預(yù)分頻系數(shù)=2,則因為這個倍頻器,TIM2~7仍然能夠得到72MHz的時鐘頻率。能夠使用更高的時鐘頻率,無疑提高了定時器的分辨率,這也正是設(shè)計這個倍頻器的初衷。STM32中外部中斷與外部事件這張圖是一條外部中斷線或外部事件線的示意圖,圖中信號線上劃有一條斜線,旁邊標(biāo)志19字樣的注釋,表示這樣的線路共有19套。圖中的藍(lán)色虛線箭頭,標(biāo)出了外部中斷信號的傳輸路徑,首先外部信號從編號1的芯片管腳進(jìn)入,經(jīng)過編號2的邊沿檢測電路,通過編號3的或門進(jìn)入中斷“掛起請求寄存器”,最后經(jīng)過編號4的與門輸出到NVIC中斷控制器;在這個通道上有4個控制選項,外部的信號首先經(jīng)過邊沿檢測電路,這個邊沿檢測電路受上升沿或下降沿選擇寄存器控制,用戶可以使用這兩個寄存器控制需要哪一個邊沿產(chǎn)生中斷,因為選擇上升沿或下降沿是分別受2個平行的寄存器控制,所以用戶可以同時選擇上升沿或下降沿,而如果只有一個寄存器控制,那么只能選擇一個邊沿了。接下來是編號3的或門,這個或門的另一個輸入是“軟件中斷/事件寄存器”,從這里可以看出,軟件可以優(yōu)先于外部信號請求一個中斷或事件,既當(dāng)“軟件中斷/事件寄存器”的對應(yīng)位為“1”時,不管外部信號如何,編號3的或門都會輸出有效信號。一個中斷或事件請求信號經(jīng)過編號3的或門后,進(jìn)入掛起請求寄存器,到此之前,中斷和事件的信號傳輸通路都是一致的,也就是說,掛起請求寄存器中記錄了外部信號的電平變化。外部請求信號最后經(jīng)過編號4的與門,向NVIC中斷控制器發(fā)出一個中斷請求,如果中斷屏蔽寄存器的對應(yīng)位為“0”,則該請求信號不能傳輸?shù)脚c門的另一端,實現(xiàn)了中斷的屏蔽。明白了外部中斷的請求機(jī)制,就很容易理解事件的請求機(jī)制了。圖中紅色虛線箭頭,標(biāo)出了外部事件信號的傳輸路徑,外部請求信號經(jīng)過編號3的或門后,進(jìn)入編號5的與門,這個與門的作用與編號4的與門類似,用于引入事件屏蔽寄存器的控制;最后脈沖發(fā)生器把一個跳變的信號轉(zhuǎn)變?yōu)橐粋€單脈沖,輸出到芯片中的其它功能模塊。在這張圖上我們也可以知道,從外部激勵信號來看,中斷和事件是沒有分別的,只是在芯片內(nèi)部分開,一路信號會向CPU產(chǎn)生中斷請求,另一路信號會向其它功能模塊發(fā)送脈沖觸發(fā)信號,其它功能模塊如何相應(yīng)這個觸發(fā)信號,則由對應(yīng)的模塊自己決定。在圖上部的APB總線和外設(shè)模塊接口,是每一個功能模塊都有的部分,CPU通過這樣的接口訪問各個功能模塊,這里就不再贅述了。STM32的USART發(fā)送數(shù)據(jù)時如何使用TXE和TC標(biāo)志在USART的發(fā)送端有2個寄存器,一個是程序可以看到的USART_DR寄存器(下圖中陰影部分的TDR),另一個是程序看不到的移位寄存器(下圖中陰影部分Transmit Shift Register)。對應(yīng)USART數(shù)據(jù)發(fā)送有兩個標(biāo)志,一個是TXE=發(fā)送數(shù)據(jù)寄存器空,另一個是TC=發(fā)送結(jié)束;對照下圖,當(dāng)TDR中的數(shù)據(jù)傳送到移位寄存器后,TXE被設(shè)置,此時移位寄存器開始向TX信號線按位傳輸數(shù)據(jù),但因為TDR已經(jīng)變空,程序可以把下一個要發(fā)送的字節(jié)(操作USART_DR)寫入TDR中,而不必等到移位寄存器中所有位發(fā)送結(jié)束,所有位發(fā)送結(jié)束時(送出停止位后)硬件會設(shè)置TC標(biāo)志。另一方面,在剛剛初始化好USART還沒有發(fā)送任何數(shù)據(jù)時,也會有TXE標(biāo)志,因為這時發(fā)送數(shù)據(jù)寄存器是空的。TXEIE和TCIE的意義很簡單,TXEIE允許在TXE標(biāo)志為'1'時產(chǎn)生中斷,而TCIE允許在TC標(biāo)志為'1'時產(chǎn)生中斷。至于什么時候使用哪個標(biāo)志,需要根據(jù)你的需要自己決定。但我認(rèn)為TXE允許程序有更充裕的時間填寫TDR寄存器,保證發(fā)送的數(shù)據(jù)流不間斷。TC可以讓程序知道發(fā)送結(jié)束的確切時間,有利于程序控制外部數(shù)據(jù)流的時序。STM32設(shè)置了很多非常有用和靈活的控制和狀態(tài)位,只要你很好地掌握了它們的用法,可以讓你的應(yīng)用更加精確和高效。在STM32中如何配置片內(nèi)外設(shè)使用的IO端口首先,一個外設(shè)經(jīng)過配置輸入的時鐘和初始化后即被激活(開啟)。如果需要使用該外設(shè)的輸入輸出管腳,則需要配置相應(yīng)的GPIO端口;否則該外設(shè)對應(yīng)的輸入輸出管腳可以做普通GPIO管腳使用。
2017-10-25 10:04:38

帶你走進(jìn)STM32的世界

帶你走進(jìn)STM32的世界STM32F10xx時鐘系統(tǒng)框圖:時鐘是整個系統(tǒng)的脈搏下圖是STM32F10xx時鐘系統(tǒng)的框圖,通過這個圖可以一目了然地看到各個部件時鐘產(chǎn)生的路徑,還可以很方便地計算出各部分
2017-11-05 11:29:45

帶你走進(jìn)單片機(jī)程序設(shè)計大門

帶你走進(jìn)單片機(jī)程序設(shè)計大門。
2012-08-04 11:34:54

帶大家走進(jìn)嵌入式Linux-arm驅(qū)動開發(fā)

一、本文將會以最簡單的LED驅(qū)動程序帶大家走進(jìn)嵌入式Linux-arm驅(qū)動開發(fā),首先,來了解一下最簡單的驅(qū)動框架。1.首先struct file_operations led_fops()函數(shù),它是
2021-12-15 07:59:57

怎么才能防止系統(tǒng)受干擾而使程序丟失,或者走進(jìn)死循還而使系統(tǒng)死機(jī)?

AT89C52的主要性能參數(shù)有哪些怎么才能防止系統(tǒng)受干擾而使程序丟失,或者走進(jìn)死循還而使系統(tǒng)死機(jī)?
2021-04-14 07:03:12

數(shù)字世界里的模擬技術(shù)看完你就懂了

數(shù)字世界里的模擬技術(shù)看完你就懂了
2021-04-22 06:10:03

新手教程書籍《從零開始走進(jìn)FPGA世界

;三、高速的圖像和視頻處理,因為FPGA內(nèi)部嵌入了大量的乘法器或者DSPBlock,所以在這些領(lǐng)域應(yīng)用頗廣,此外各大FPGA公司也提供了相應(yīng)的參考設(shè)計;四、大型LED面板驅(qū)動和高分辨率LCD驅(qū)動;四、協(xié)
2018-12-14 17:47:38

無線多彩LED照明控制方案

智能照明時代降臨 無線多彩LED照明控制方案橫空出世:本方案是大聯(lián)大集團(tuán)在LED智能家居照明領(lǐng)域的研發(fā)成果之一。通過該方案,您的LED產(chǎn)品就可以告別開關(guān)、遙控器的桎梏,邁入智能照明的產(chǎn)品的行列。詳細(xì)方案及技術(shù)參數(shù)請到大聯(lián)大云端wpgcloud了解>>>
2013-11-01 10:09:28

智能家居控制系統(tǒng)如何走進(jìn)生活?

  智能家居控制系統(tǒng)如何走進(jìn)生活?對于未來的住宅,你有怎樣的期待?隨著科技的發(fā)展,智能家居離我們越來越近。想象一下,在未來的住宅中,輕輕一點,家里的環(huán)境模式就能隨意切換。如晨起、離家、就餐、會客
2018-05-02 11:47:38

智能照明光照你我他,關(guān)愛每一個家

在都市里 ,到處炫耀著五顏的智能燈光照明系統(tǒng)色彩,這是一個五彩斑斕的世界,下面小編就帶你走進(jìn)智能家居系統(tǒng)中的姹紫嫣紅在室內(nèi),智能燈光照明系統(tǒng)慢慢已經(jīng)走進(jìn)人們的生活,讓室內(nèi)變得五彩斑斕,暖意濃濃。在
2016-05-16 16:31:37

未來世界如何供電

未來世界如何供電:無線傳輸或成主流
2021-01-07 06:56:18

格林代爾多彩竹木纖維多姿色彩

格林代爾多彩竹木纖維異型產(chǎn)品暢銷全國,格林代爾集成墻飾,格林代爾集成墻,主蕭亞軒與男友調(diào)情用于作為室內(nèi)裝飾,是建筑裝潢首要選擇產(chǎn)品,格林代爾集成墻飾,以全國為主章子怡集齊12個影后服務(wù)地區(qū),客戶
2016-03-28 16:35:48

求大牛DIY一個世界地圖形狀LED點陣(4米寬,2000點)

`有個展廳項目需要做一個世界地圖形狀的展品,整體形狀是由2000根亞克力管構(gòu)成的一幅4米寬世界地圖,每根亞克力管的截面構(gòu)成地圖的一個像素點,亞克力管頂部封裝不同的種子,底部安裝LED燈珠以照亮頂部
2018-01-18 17:09:09

電子單片機(jī)教案 循環(huán)漸進(jìn)走進(jìn)電子世界

電子單片機(jī)教案 循環(huán)漸進(jìn)走進(jìn)電子世界
2013-07-28 12:41:24

要過年啦,小編這里給大家拜個早年!

` 小編這里給位英雄“猴”杰,綠林“猴”士,“猴”門貴胄拜年啦,在這空前絕猴”的 花“猴”月圓之夜,小編有很多的”猴”情壯志 ,“猴”言壯語溢于言表,2015年大家在論壇的猴”謀善斷,讓論壇增添多彩
2016-01-29 10:12:53

迷失的arm世界。。

接觸電子的東西已經(jīng)快一年了,但是就是感覺很無助,單片機(jī)會點51,自學(xué)了些模電數(shù)電,其他什么的也了解了一點,現(xiàn)在我想自學(xué)arm,但是又不知道現(xiàn)在夠格學(xué)了沒,so,真心希望你能給小弟指點一下怎樣走進(jìn)arm。。
2013-06-11 16:48:05

多彩305攝像頭驅(qū)動下載

多彩305攝像頭驅(qū)動下載
2008-01-11 22:55:595

LED顯示精彩世界

LED顯示精彩世界,LED顯示屏在各大人流場所隨處可見.為人們的眼界開拓了新的空間.
2021-11-22 09:26:58

啟動數(shù)碼能量,豐富多彩生活

             啟動數(shù)碼能量,豐富多彩生活
2009-01-15 12:39:13358

走進(jìn)比亞迪

走進(jìn)比亞迪  比亞迪股份有限公司始建于1995年,由 20 多人的規(guī)模起步,短短十年時間內(nèi)迅速成長為 IT 及電子零部件的世界
2009-10-27 11:43:01429

走進(jìn)雙鹿電池

走進(jìn)雙鹿電池 中銀(寧波)電池有限
2009-10-28 14:56:591121

多彩節(jié)能的夏日平板挑選法則

多彩節(jié)能的夏日平板挑選法則 前言: 09平板市場三軍鼎立,以三星、索尼為代表的合資品牌從背光源著力,主推LED電視;而部分國
2010-02-11 11:56:20356

目前世界上最大的led顯示屏在哪里

目前世界上最大的led顯示屏在哪里
2010-03-10 10:56:565686

我國LED專利僅占世界的十分之一

我國LED專利僅占世界的十分之一   如今,中國已經(jīng)成為世界上重要的中低端LED封裝生產(chǎn)基地,預(yù)計2010年中國LED產(chǎn)業(yè)將達(dá)到1000億元
2010-03-23 09:02:59568

車用LED頭燈組研發(fā)介紹

隨著半導(dǎo)體材料的突破與白光發(fā)光二極體的問世,被譽(yù)為照亮未來技術(shù)的LED(發(fā)光二極體)漸漸走進(jìn)了我們的日常生活當(dāng)中,并帶領(lǐng)我們迎向固態(tài)照明世界。因此白光LED是固態(tài)照明中一
2011-04-14 15:06:1036

LED驅(qū)動——點亮世界

一直以來驅(qū)動電路是LED應(yīng)用產(chǎn)品的重要組成部分,如何設(shè)計一個優(yōu)秀的LED驅(qū)動電路也是困擾著工程師的難題之一。本專題從LED原理出發(fā),分析LED驅(qū)動設(shè)計所要注意的問題。LED驅(qū)動解決方案難點在于:電流
2012-03-14 16:30:38

世界主要LED生產(chǎn)廠家介紹

世界主要LED生產(chǎn)廠家介紹:日亞化工是GaN系的開拓者,在LED和激光領(lǐng)域居世界首位。豐田合成提出了車體和輪胎的概念。
2012-03-29 10:05:567289

LED的應(yīng)用設(shè)計

隨著LED技術(shù)的不斷成熟,LED的成本和價格降了下來,加之政府對新能源的大力支持,使得LED在各個行業(yè)的使用越來越廣泛,LED開始走進(jìn)我們的日常生活!本專題主要從LED應(yīng)用介紹、LED照明應(yīng)用、LED驅(qū)動設(shè)計應(yīng)用、LED應(yīng)用電路圖和LED顯示設(shè)計應(yīng)用五個方面來介紹LED的應(yīng)用設(shè)計!
2012-08-01 15:21:37

圖說LED基礎(chǔ)小常識(一)

今天,LED已經(jīng)走進(jìn)千家萬戶,成為我們生活中常見的一項技術(shù)。在可見光LED問世50周年之際,讓我們一起回顧LED的發(fā)展,認(rèn)識LED的類型,以及你將可以怎樣利用LED技術(shù)。
2012-11-13 17:17:368343

LED照明應(yīng)對世界末日

日前關(guān)于世界末日的傳聞常見報端,人們對謠言的辨別能力真是令人揪心,本文從科學(xué)角度分析即使連黑三天,有了LED照明又有何懼,LED燈應(yīng)用于各個領(lǐng)域,給人帶來光明。
2012-12-07 09:50:28839

Kick:可由WiFi控制的多彩LED

今天推薦個更給力的Kick——能夠用智能手機(jī)通過WiFi進(jìn)行控制的可調(diào)色LED燈。通過iPhone上的應(yīng)用程序,用戶就能夠遠(yuǎn)程調(diào)節(jié)任何想要的彩虹色。
2013-05-31 11:25:032832

[1.1.1]--走進(jìn)世界

電子技術(shù)電工技術(shù)
jf_75936199發(fā)布于 2023-03-11 01:40:28

走進(jìn)2016“多彩”的LED世界:百家爭鳴,精彩紛呈

過去一年,我們曾經(jīng)為LED照明需求不斷攀升而雀躍,為LED產(chǎn)品單價大幅下滑而訝異,為硅襯底技術(shù)自主化而歡呼……這些復(fù)雜表情背后,實際上反映的是LED產(chǎn)業(yè)大幅發(fā)展過程中所遭遇的不確定性,這種不確定性也是勃勃生機(jī)的表現(xiàn)。
2016-02-16 11:15:481080

Delphi教程_多彩的數(shù)據(jù)報表

Delphi教程多彩的數(shù)據(jù)報表,很好的Delphi的學(xué)習(xí)資料。
2016-03-16 14:55:524

吹逼技術(shù)只服華為,華為P10真機(jī)圖曝光,死磕三星S8!配隱藏式指紋+多彩金屬機(jī)身!

華為P10在顏值方面主打多彩配色,會有淡綠,騷紫,海藍(lán)等顏色,滿足年輕人的不同需求,而湊巧的是,三星S8也會主打多彩機(jī)身,顯示出科技和時尚活力相結(jié)合。
2017-02-17 09:28:21473

還記得那些年的華碩筆記本電腦嗎?讓我們一起走進(jìn)華碩筆記本世界吧!

在過去的華碩筆記本電腦世界你對這些又有哪些了解呢?和小編一起走進(jìn)華碩筆記版電腦世界去了解它吸引人的一面吧!
2017-03-24 09:40:031943

索尼4K液晶電視X9300E 帶你走進(jìn)炫彩世界

大千世界風(fēng)光無限好,當(dāng)你沒有時間去旅游,沒有時間去欣賞外界美麗風(fēng)景的時候,那就讓索尼4K液晶電視帶你去游覽世界,帶你走進(jìn)大千世界,帶你享受生活的樂趣。
2017-07-07 10:00:031122

LED屏顯世界專訪】封裝小尺寸化是趨勢,但更應(yīng)關(guān)注可靠性(一)

LED顯屏世界專題報道
2017-08-30 11:22:081331

英特爾將繼續(xù)致力于自動駕駛領(lǐng)域的技術(shù)創(chuàng)新,推動自動駕駛走進(jìn)真實世界

不論是和華納兄弟的合作,還是對Mobileye的收購,都體現(xiàn)了英特爾在自動駕駛行業(yè)的野心和堅定。未來,英特爾將繼續(xù)致力于自動駕駛領(lǐng)域的技術(shù)創(chuàng)新,推動自動駕駛走進(jìn)真實世界
2018-01-03 17:27:462946

飛利浦幻彩LED冰酒燈 給你最浪漫的氛圍

浪漫的飲酒環(huán)境需要多彩的氛圍,飛利浦幻彩 LED 冰酒燈就用多彩LED 芯片為用戶打造舒適的環(huán)境。這款冰酒燈的外觀設(shè)計簡約時尚,透明的主體搭配銀色邊框簡約時尚,內(nèi)置的多光色 LED 芯片可以為用戶打造時尚溫馨的飲酒環(huán)境,無線充電方式也可以帶來時尚的使用體驗。
2018-04-27 04:30:004699

巨頭力推LED大屏,LED屏幕是否能走進(jìn)影院?

看大片無放映機(jī)?在三星、索尼都在力推LED大屏,尤其是三星已在上海建立LED屏幕影院后,業(yè)界開始對LED屏進(jìn)入電影院市場有所遐想和期待,未來LED屏幕是否會成為電影屏幕的新標(biāo)準(zhǔn)?
2018-09-13 15:06:039370

羽博猴年限量版移動電源評測 可以說是羽博移動產(chǎn)品的一項代表作

此時移動電源發(fā)揮最大作用的時刻到了,一路上的充電需求,全由它來保證。SO,今天,評測室為大家?guī)砹艘豢睢跋蘖堪妗币苿与娫础鸩㏄10000猴年日歷粉色版。
2018-10-23 10:03:421605

LED多彩燈旋轉(zhuǎn)燈的程序和原理圖資料免費(fèi)下載

多彩燈旋轉(zhuǎn)燈,此燈由多塊副板組成旋轉(zhuǎn),可產(chǎn)生旋轉(zhuǎn),流水,漸變色,混色,交叉旋轉(zhuǎn)異色,雙燈同亮不同速旋轉(zhuǎn),聲控,無聲自變色,無聲滅燈,有聲換色,有聲旋轉(zhuǎn)色換色。
2018-10-29 08:00:0033

LED多彩聲控旋轉(zhuǎn)燈的詳細(xì)資料合集免費(fèi)下載

本文檔的主要內(nèi)容詳細(xì)介紹的是LED多彩聲控旋轉(zhuǎn)燈的詳細(xì)資料合集免費(fèi)下載主要內(nèi)容包括了:電路原理圖,三維組裝PCB,三維組裝圖片,視頻效果
2018-10-30 08:00:0031

帶你走進(jìn)手機(jī)的集成電路世界

住在海底世界中心的是CPU家族,他們是整個動物世界的最強(qiáng)大腦。起初CPU家族只有1個兄弟,但隨著功能需求越來越多,發(fā)展到現(xiàn)在有的CPU家族已經(jīng)有8個兄弟啦!
2018-12-07 16:14:487649

嵌入式ARM與MMU神秘的內(nèi)部世界!一目了然

帶你走進(jìn)嵌入式ARM與MMU神秘的內(nèi)部世界
2019-03-01 15:02:328942

神奇的微納米機(jī)器人走進(jìn)人體

機(jī)器人界的老頑童福田敏男教授多次出席中國機(jī)器人峰會,在去年的峰會上,他帶來了更新穎更具創(chuàng)新的研究報告,帶領(lǐng)我們走進(jìn)了一個神奇的微型生物細(xì)胞機(jī)器人世界
2019-03-20 15:38:087891

科大訊飛用AI為世界留下多彩鄉(xiāng)音

在剛剛更新的第二集《我用AI修文物 人工智能復(fù)活千年歷史》中,令人震驚的是聯(lián)合國教科文組織發(fā)布:在世界范圍內(nèi),每兩周就有一種語言從地球上消失。
2019-10-08 11:14:532560

多彩貴州航空正式引進(jìn)了一架A320neo飛機(jī)

多彩貴州航空公司引進(jìn)的第一架A320neo飛機(jī)是空中客車公司最新一代的A320飛機(jī),裝有CFM公司生產(chǎn)的最新Leap-1A發(fā)動機(jī),比老一代A320飛機(jī)燃油效率提高15%以上,是當(dāng)前世界最高效環(huán)保的單通道飛機(jī)。
2019-10-25 11:25:382036

華為8款機(jī)型明年將更新多彩AOD滅屏顯示功能

所謂“多彩AOD”就是EMUI10的新功能之一,即多彩AOD滅屏顯示,不僅可以讓用戶隨時看到時間、信息、電量等手機(jī)基本信息,還能根據(jù)時間的變化而改變字體的顏色。
2019-12-09 14:46:363772

如何測試LED顯示屏是否存在故障問題

隨著LED電子顯示屏以及LED全彩屏的普及應(yīng)用,LED顯示屏已經(jīng)成為了當(dāng)今信息社會的一到美麗的風(fēng)景線,特別是在夜幕來臨時,LED顯示屏綻放出璀璨的畫面令人們能夠感覺世界的繽紛多彩
2019-12-31 16:40:471516

vr技術(shù)如何帶你走進(jìn)動物的世界

VR技術(shù)的出現(xiàn)讓我們對世界有了更加廣闊的認(rèn)識,讓我們有機(jī)會領(lǐng)略到不一樣的風(fēng)采,VR技術(shù)也讓我們重新認(rèn)識大自然。
2020-03-16 15:38:191796

人工智能走進(jìn)現(xiàn)實世界的切入點是

人工智能(AI)是研究、開發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。而人工智能走進(jìn)現(xiàn)實世界的切入點是什么? 想要知道人工智能走進(jìn)現(xiàn)實世界的切入點是什么這個
2021-06-04 14:39:442007

人工智能走進(jìn)現(xiàn)實世界的切入點 用戶體驗是關(guān)鍵

人工智能AI從理論走進(jìn)現(xiàn)實,真正走進(jìn)大家的生活。
2021-06-05 12:20:091841

蘋果助力Mini LED技術(shù)再次走進(jìn)產(chǎn)業(yè)鏈視野

在蘋果的“助攻”下,Mini LED技術(shù)再次走進(jìn)產(chǎn)業(yè)鏈視野。近日,蘋果在2021年第2場秋季新品發(fā)布會上帶來3款新品,其中包括被稱為“Mac筆記本電腦中歷代之最”的新款Macbook Pro,搭載
2021-10-27 09:26:393959

洲明LED煥新一座城驚艷全世界

絢爛的光影、豐富多彩的活動、沉浸式的游玩體驗,這里一直都是光影的世界、歡樂的海洋。 以裸眼3D等原創(chuàng)內(nèi)容為牽引,以LED顯示屏為交互窗口,將整個城市打造成耀眼的多媒體藝術(shù)裝置,這樣的大手筆,正是出自洲明。 項目所使用的全部
2021-11-06 11:01:421605

洲明LED光顯方案成功走進(jìn)世博會

在眾多展館中,美國、梵蒂岡、以色列等國家館,及迪拜環(huán)球港務(wù)集團(tuán)、阿聯(lián)酋國家石油公司等合作伙伴展館,共計近3000㎡LED大屏均由中國的洲明科技提供。
2021-12-13 09:50:314797

HT66FB574/572多彩流光USB鼠標(biāo)應(yīng)用范例

電玩產(chǎn)業(yè)對鼠標(biāo)需求越來越高,在鼠標(biāo)上增加大量 RGB LED,并且可產(chǎn)生不同顏色與明亮 變化多種炫酷燈光效果,使游戲鼠標(biāo)更加多彩多姿,其中多顆 RGB LED 在鼠標(biāo)外圍圍繞, 并可產(chǎn)生如流水效果顏色變化的鼠標(biāo),稱為多彩流光鼠標(biāo)。
2022-06-26 09:43:412

HT66FB576多彩獨(dú)立光USB鍵盤應(yīng)用范例

HOLTEK 針對多顆多彩燈效產(chǎn)品領(lǐng)域,開發(fā)提供應(yīng)用于多顆 RGB LED 的產(chǎn)品,HT66FB576 最多可應(yīng)用在 128 顆 RGB LED 的產(chǎn)品,本身又具 USB 接口,用于多彩獨(dú)立光鍵盤相當(dāng)合 適,本文將介紹使用 HT66FB576 開發(fā)多彩獨(dú)立光鍵盤方案。
2022-06-26 09:42:122

用蜂鳴器制作多彩LED

電子發(fā)燒友網(wǎng)站提供《用蜂鳴器制作多彩LED流.zip》資料免費(fèi)下載
2022-11-10 14:43:180

世界上最薄的NeoPixel LED矩陣

電子發(fā)燒友網(wǎng)站提供《世界上最薄的NeoPixel LED矩陣.zip》資料免費(fèi)下載
2022-11-21 10:55:410

多彩世界地圖上的物聯(lián)網(wǎng)圣誕老人追蹤器

電子發(fā)燒友網(wǎng)站提供《多彩世界地圖上的物聯(lián)網(wǎng)圣誕老人追蹤器.zip》資料免費(fèi)下載
2022-12-09 16:14:590

走進(jìn)LED顯示屏的異形世界

異形LED顯示屏以絢麗多彩的顯示效果,靈活多變的畫面表現(xiàn)力,細(xì)膩清晰的視覺效果,使精彩的畫面效果得到了淋漓盡致的顯現(xiàn)。為人們在緊張的工作之余帶來輕松愉快的氣氛,享受音樂、美酒以及無拘無束的人際交流所帶來了無窮的樂趣。
2023-04-06 16:46:47502

MP3320A | 這顆芯,律動多彩呼吸節(jié)奏

點擊標(biāo)題下「MPS芯源系統(tǒng)」可快速關(guān)注 WLED(白光LED)為我們帶來了白色光芒,但生活也應(yīng)該充滿絢麗多彩的景象,RGB(紅綠藍(lán))LED 就是色彩的使者, RGB+W 驅(qū)動精靈 MP3320A
2023-07-20 12:10:02441

LED球型屏驚艷世界的背后,洲明的厚積與薄發(fā)

LED行業(yè)的發(fā)展史上,LED顯示與LED照明曾因主要功能不同而被劃分為兩個行業(yè)陣營,前者注重展示信息,后者注重照亮和裝飾。
2023-07-27 14:09:23648

已全部加載完成

主站蜘蛛池模板: 99精品视频在线观看re| 午夜阳光影院在线观看视频| 国产普通话精品久久| 伊人久久青草青青综合| 欧美阿v天堂视频在99线| 国产99视频精品一区| 亚洲无线观看国产| 欧美精品乱码99久久蜜桃 | 亚洲视频中文字幕| 蜜臀AV人妻久久无码精品麻豆| 成人在线免费视频播放| 亚洲精品视频在线播放| 女人张腿让男人桶免费| 国产精品系列在线观看| 0855福利| 无限资源在线观看高清| 久久丫线这里只精品| 儿子操妈妈视频| 亚洲综合国产在不卡在线| 欧美巨大xxxx做受高清| 国产亚洲福利在线视频| 91av欧美| 性色AV一区二区三区V视界影院| 麻豆狠色伊人亚洲综合网站| 国产国语在线播放视频| 综合伊人久久| 同桌别揉我奶了嗯啊| 老师掀开短裙让我挺进动态| 国产成人高清精品免费5388密| 中国毛片网| 无人区大片中文字幕在线| 免费在线观看黄色网址| 国产欧美日韩中文视频在线| 99精品国产在热| 亚洲免费精品视频| 人体内射精一区二区三区| 精品久久99麻豆蜜桃666| 俄罗斯XXXXXL18| 51久久成人国产精品麻豆| 午夜影视不充值观看| 欧美黄色一级|