久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: Nucleo-L031K6評測 硬件和軟件實驗 [打印本頁]

作者: 51hei大小    時間: 2016-6-17 17:17
標(biāo)題: Nucleo-L031K6評測 硬件和軟件實驗
昨天收到蘇柚的評測通知,想必將要收到的板子應(yīng)該是NUCLEO-L031K6吧。昨天找到nucleo-L031的官網(wǎng),下了幾個資料。【NUCLEO-L031K6官網(wǎng)頁面】個人在意的有幾個資料:
1、【硬件手冊】 只有看懂硬件連接,才能更好的理解板子的設(shè)計和引腳的目的。
2、【Bom表】更簡潔的告訴板子中涉及的芯片
3、【STM32L0系列產(chǎn)品列表】這個表告訴你一些事實就是L0X1的產(chǎn)品不帶USB等,稍后我再說明。
4、【L31K6芯片主頁】請瀏覽這個主頁下載相關(guān)手冊,比如這個【芯片數(shù)據(jù)表】
5、【cubeL0主頁】對于HAL庫編程的用戶cubeL0是必須的。【cubeL0下載頁】
6、【ST-Link V2下載地址】這個想必大家都有


資料準(zhǔn)備好,之后又幾個概念需要先Highlight一下:
1、時鐘頻率最大32MHZ,內(nèi)核M0+
2、芯片封裝是LQFP32,不帶USB接口
3、帶一個LPUART接口,LPTIM接口
4、PA0口是完全的,從PA0-PA15
5、Flash:32K, RAM:8K ,EPROM:1K
6、SPI、I2C、UART、TIM等
7、自帶RTC晶振
8、ST-Link和nucleo64的主芯片毫無差別,還是芯片STM32F103CBT6來一張框圖表示一下這個產(chǎn)品的概況:


關(guān)于這個產(chǎn)品,我覺得最可惜的是不帶主芯片USB接口,這個也是幾乎所有nucleo的遺憾。對于nucleo64來說,芯片盡管沒有焊接出USB接口,好歹芯片是支持的。另外這些引腳也引出來了。可是對于這個芯片就很遺憾了。因為根本沒有呀。那么后期有沒有那種可能性來更換測試芯片吶。請看下圖:


和下圖:

再結(jié)合我在上面提供的產(chǎn)品列表,你會發(fā)現(xiàn)F0522:都有LQFP32 7*7*1.4封裝。估計多數(shù)引腳也是兼容的,關(guān)于這一點,后期還需要確認(rèn)一下。
所以應(yīng)該可以添加USB接口。
但是這仍然不夠完美,如果在后期的產(chǎn)品中不是一味的兼容Arduino的引腳,添加一些STM32真正有優(yōu)勢的接口,那樣會更好。這是我在nucleo身上一直以來的遺憾。你可能會說,USB有什么大不了的。我告訴你,我本來想用這家伙做個邏輯分析儀和hacker硬件。想一想,把這個設(shè)備偽裝成一個USB-HID設(shè)備,插到電腦上很easy的做一些操作,那又多酷。哎,只能說: What a pity!
但是沒事,STM32已經(jīng)給我們準(zhǔn)備好了芯片,其它的就靠我們自己了。

在開始之前,硬件手冊需要細(xì)細(xì)研究一番。但是幸運(yùn)的是板子小,元件也并不太多。
在電路分許中,我意向的原則是先看電源,再看時鐘和燒錄接口,最后看外圍元件和接口。
這次也不例外,開始了解一下電源吧。我一直認(rèn)為Nucleo的電源設(shè)計堪稱典范。我用簡略的圖示來表示電源的流向。
VIN -->--> E5V -->]       [--->-->+3V3_ST_LINK{ST-Link主芯片U5供電}
                                                ]-->[
                        Vusb-->U5V-->]      [--->----->U5V_ST_LINK--->]
                                                                                                                         ]---> -->VO-->+3V3-->-->VDD-->磁珠->AVDD
                                                                                                             E5V -->]                                                        |
                                                                                                                                                                                 |/[目標(biāo)芯片U2供電]
因為版面限制沒有提到+5V的位置,但是大家一看原理圖便知。大致可以從這個引腳對外輸出+5V

通常情況下電源的輸入位VIN和Vusb(micro-usb端口)。當(dāng)通過ST-LINK調(diào)試時由Vusb提供整個片子的電源。也可以從提供外部提供電壓范圍較廣的電源。大致范圍參考LD1117S50TR 可知為。而同樣是是5V轉(zhuǎn)3.3V卻使用LD39050PU33R和LD3985M33R兩塊芯片。這各種的緣故需要看芯片手冊確定。前者的最大電流是500ma,后者是150ma。像平時我做設(shè)計時,一般就選大的。人家這是能省則省,這就是專業(yè)精神。當(dāng)然更有可能是省板子空間吧,哈哈~~~肖特基二極管也使用了兩款:STPS2L30A和BAT60JFILM兩款芯片。應(yīng)該也是基于電流、耐壓和體積的考量吧。(PS:手冊上的電流很奇怪)
另一點是ST-LINK的主芯片引腳PB15上連接的芯片,這次改變了。之前是個mos管,這次是一款名字為ST890CDR的芯片。這是一款官網(wǎng)稱作1.2 A current limited high side power switch with thermal shutdown的過熱保護(hù)電源開關(guān)。應(yīng)該比之前一個簡單的mos管要安全一些。

另外板子上用到的所有芯片(我沒有一個一個查)應(yīng)該都是ST生產(chǎn)的,這里要給意法半導(dǎo)體豎起大拇指。

這里先簡單的做個大體了解,靜等板子到吧。


一、硬件分析
1.1 老生常談之一觸即發(fā)話說三月七號,快遞小哥送來了期待已久的小板子。
這是逛ST論壇近一年收到的第一塊板子,甚是激動。
先上一張為拆裝的圖,盒子還是經(jīng)典的nucleo塑料盒子的包裝。甚是簡介,可是不知這包裝能不能講解。好歹,咱nucleo也該有幾十萬套發(fā)給用戶吧。

包裝的大小相對于傳統(tǒng)的nucleo64沒有太大的變化,后來才發(fā)現(xiàn)這樣做的原因可能是為了展示外包裝上的信息吧。
但還好在評測之前已經(jīng)提前了解了這塊板子,詳見我的上一篇帖子【寫在評測之前】。
這樣我就可以理性的評測這塊板子。首先是看看板子的大小。
有人說這筆arduino的nano還小,不行的是我手邊是一個國產(chǎn)的nano。請看一下大小,不知道官方的大小如何。

但是,老實說nucleo可是提供仿真調(diào)試的好吧。nano只有一個ft232虛擬出來的串口,除了能夠燒寫似乎沒什么用處。
從pcb板子的質(zhì)量上,nucleo的設(shè)計制造難度不是一丁點。
在上一張和硬幣比大小的圖片,你就看出到底nucleo有多小

看見沒,比五毛錢小多了。我可沒用什么五毛錢的特效。這是貨真價實的小。
在盒子的包裝上印有mbed或者說arduino nano的接口信息,請看:

我確認(rèn)是一樣的,所以設(shè)計者為了兼容簡單架構(gòu)的avr也是蠻拼的。但是這里有一個問題是,為什么非要兼容Arduino的nano吶。
如果你注意瞧,你就會發(fā)現(xiàn)D0,D1和D3/4/5...什么的不在一起,而且順序是反的。想必這也是當(dāng)年avr為了兼容之前的做出的妥協(xié)。咱完全不用這樣做。畢竟mbed有筆試Arduino,語法的復(fù)雜性和易用性都不在一個檔次。
老實說,這些年STM32如果做一個調(diào)查就會發(fā)現(xiàn)我們使用nucleo板用作mbed的設(shè)備比例一定非常少。我們購買或者使用nucleo板子的原因是它便宜,簡單易用。就像Discovery的板子,我們使用所謂的蝴蝶接口多嗎?
所以說我建議ST不放根據(jù)自己芯片和引腳的特色,設(shè)定一套自己的板子接口。這樣更方便開發(fā)者學(xué)習(xí)和使用。比如nucleo32/64/144的引腳和芯片特點制定三種引腳規(guī)則。引腳多的可以兼容引腳少的。使用這樣的方式,沒準(zhǔn)能夠更好的讓用戶掌握STM32獨特的接口。怎么使用DMA,怎么使用更復(fù)雜的TIM,SDIO,LTDC如何使用。這樣開發(fā)者會根據(jù)接口安排自己的學(xué)習(xí)路徑,會不會更好吶?
上面只是我自己的看法,不知道各位蝴蝶粉沒有何看法?
在講L031K6拿出來的時候遇到點小麻煩,據(jù)你所知nucleo64板子比較大,靠兩邊的卡扣扣著時很容易就能取下。但是nucleo32卻不是,需要從板子的后邊用力,擠壓包裝后才能取出。為此我擅做主張給Nucleo發(fā)了個紅腰帶。見下圖:
     正面                                            


背面
正面是不是也挺好看,背面很實用一拉板子就出來了。【nucleo的設(shè)計師別打我】

然后就是連接上電腦了,出現(xiàn)兩個相關(guān)的設(shè)備枚舉。對了這次nucleo的USB口換成了micro-B的接口,之前的mini的。micro-B接口的線纜想必大家都不少吧,因為智能手機(jī)在type C之前主要就是這種標(biāo)準(zhǔn)的線。(Type A to micro-B)

另外在磁盤中添加了一個40kb的空間,應(yīng)該是從f103片子的flash里面劃出來的。曾經(jīng)有人寫了一篇如何通過編寫一個類似nucleo這樣的方式燒寫程序的文章,大家可以搜索一下。個人覺得這樣的方式挺好的。在details的文件中還可以看到板子或者固件燒寫的日期。


1.2 板子的設(shè)計
下面再來說說板子的設(shè)計,老實說我最贊嘆的是布線師的技術(shù)。自己平時線一多就選擇自動布線,然后取消布線根據(jù)布線的情況調(diào)整原件位置。接著再自動布線,如此反復(fù)之后。再手動布置一些主要的線,確認(rèn)設(shè)定的規(guī)則之后再自動布線,后期對一些過孔和比較奇特的布線手動做一些調(diào)整。總感覺這樣的方法很不專業(yè)。不知道nucleo的設(shè)計師是如何搞得。起初我還以為他們會用六層板什么的,后來才發(fā)現(xiàn)他們用的是四層板。在官方的PCB圖紙上給出了明確的解釋,請看。

如果你看原理圖還會發(fā)現(xiàn)在電源層還根據(jù)電源的不同做出了一些分割。我覺得那些想學(xué)習(xí)繪制板子的,可以從這張圖開始。
圖紙給的是用Altium Designer繪制的,這也是許多朋友最初學(xué)習(xí)繪制板子時用的軟件。PCB板子或者說PCB工程做的非常專業(yè),必須多大學(xué)老師用的正規(guī)的多。這套圖的原理圖分成了三張,第一張是總圖用于將兩塊原理圖連接成一張大的原理圖。同時也讓接口關(guān)系更加明顯。
電源的設(shè)計也很專業(yè),朋友們注意一下官方對于電源的劃分和規(guī)則,在上一篇文章中我做了梳理,希望能幫到你。
另外BOM表原件也很全,官方實際上提供給大家一個設(shè)計參考的示例。
這里提供官方資料的下載,為了下到最新的資料,其實建議大家到官方搜索下載,這樣可以download一些自己需要的。
nucleo-32pins_bom.zip (33.55 KB, 下載次數(shù): 13) nucleo-32pins_sch.zip (2.92 MB, 下載次數(shù): 13)

1.3 芯片架構(gòu)的變化(相對于自己熟悉的F401)
STM32L031K6是Cotex-M0+的架構(gòu),而F401是Cotex-M4F架構(gòu)。兩者有區(qū)別是正常的。但是拋開內(nèi)核不說外圍的變化還是很顯著的。下面提供兩兩張來自官方文檔上的架構(gòu)圖,你會看出一些明顯的區(qū)別。在下面給給出自己看到的區(qū)別,朋友們還可以給點指點,讓我們找出一些其它的變化。
F401框圖

F103框圖



L031框圖


仔細(xì)觀察三幅框圖會發(fā)現(xiàn)GPIOA/B...等幾個接口在三種架構(gòu)上的位置不同。
F401在AHB1總線上,F(xiàn)103在APB2上,L031在內(nèi)核上直接相連。這三種連接方式有何區(qū)別,請高手給一個解釋。
我猜測直接將L系列單獨將GPIO摘出來是低功耗的考慮。我私下里看了一下L476和L162的框圖,發(fā)現(xiàn)這兩者的GPIO端口都很獨特。請高手給指教一下架構(gòu)設(shè)計的要點和作用。

1.3 ADC變化說明在后面的實驗中我會用到ADC來做兩個實驗,所以先要了解一下ADC的架構(gòu)。忽然發(fā)現(xiàn)這里ADC的架構(gòu)還是有些變化的。
[1> 雙時鐘架構(gòu)]
在L031中ADC可以配置兩個時鐘,一個來自PCLK,被稱作同步模式,另一個時鐘源來自HSI,稱為異步模式。兩者的時鐘源都可以分頻,見下圖方便理解。

這兩個時鐘源的作用在參考手冊中有介紹,大致的意思是:
1> 同步模式下ADC模塊的時鐘是有APB驅(qū)動的,在定時器timer觸發(fā)時可以保證時鐘的同步。
2> 異步模式下,不能保證于觸發(fā)源時鐘的同步,但是可以獲得更高的時鐘頻率。

1.4 低功耗部分
在外圍接口中有兩個比較明顯的低功耗接口,那就是LPUART和LPTIM接口。此外M0+的多種工作模式也保證了低功耗。
這里列舉一下L031為了保證低功耗采取的策略。
1、采用動態(tài)的電壓定標(biāo)策略:
                                    1> VDD在 [1.71-3.6V] 范圍,CPU運(yùn)行頻率高達(dá)32MHZ
                                    2> VDD在 [full range] 范圍,高達(dá)16MHZ頻率
                                    3> VDD在 [full range] 范圍,高達(dá)4.2MHZ頻率
2、支持七種低功耗模式:
                                    1> sleep mode :CPU停止,外圍可以繼續(xù)工作,也可以喚醒CPU。
                                    2> Low-Power run mode:
                                    3> Low-Power sleep mode:
                                    4> Stop mode with RTC
                                    5> Stop mode without RTC
                                    6> Standby mode with RTC: standby mode是功耗最低的模式
                                    7> Standby mode without RTC
這幾種模式的介紹可以看STML031手冊的第16頁。

再來談一談LPUART和LPTIM吧。首先看上面的框圖可以了解,兩者都掛在APB1上。在這個時鐘源下還掛有RTC和IWDG。
LPUART可以在stop模式下喚醒CPU,在32.768khz時仍然能夠提供高達(dá)9600的波特率,這種模式在低功耗通訊時尤其重要。
LPTIM也可以在stop模式下喚醒設(shè)備。
其余的不同需要再細(xì)細(xì)研究一下。
因為本篇篇幅太長,后面還有一篇評測從軟件和實驗上做一些評測。


二、軟件實驗
2.1 ADC讀取實驗
[1   ADC介紹]
[1.1> 讀取的三種模式]
ADC讀取的方式有三種:一種是所謂的連續(xù)模式,另一種是不連續(xù)模式,還有一種是單次模式。只看上面的名字似乎并不能搞清楚每種都是什么意思。假定我們要使用CH0,3,7這三個通道讀取ADC的數(shù)據(jù)。在采集過程中采集方向不發(fā)生改變,假定是升序采集。我通過軟件觸發(fā)或者硬件觸發(fā)來啟動ADC轉(zhuǎn)換,在下面我直接稱這個過程叫做“觸發(fā)采集”。
連續(xù)模式的意思是,在觸發(fā)采集一次之后,ADC模塊自動按照0-3-7-0-3-7的順序循環(huán)采集者三個通道的數(shù)據(jù)。在每個通道采集完觸發(fā)EOC事件,每一遍完成之后觸發(fā)EOSEQ事件。
單次模式是,觸發(fā)采集一次之后,ADC模塊自動按照0-3-7的順序采集三個通道的數(shù)據(jù)。采集完成之后停止運(yùn)行,直到才一次觸發(fā)采集來引起對ADC的采集。相對于上面的區(qū)別是,新的一輪采集需要新的觸發(fā)采集事件。
不連續(xù)模式下,每次觸發(fā)采集動作執(zhí)行一個通道的觸發(fā)。
因此你可以看出ADC的每個通道事實上不能單獨操作的。如果你這段時間使用通道0和1,下一段時間只是用通道2和3.那么你最好是在發(fā)生改變的時候重新配置ADC。在這種情況下cubemx就無能為力了,你只能先按照前者配置,在程序中在編寫這部分改變的代碼。
對了每次的EOC和EOSEQ都需要軟件來復(fù)位,否則不能執(zhí)行下一次采集。詳情見參考手冊RM0377中ADC部分.
[1.2> 數(shù)據(jù)處理的模式]
每一次轉(zhuǎn)換的結(jié)果都存儲在ADC_DR這個16位寄存器里面,因為ADC的分辨率和對齊方向可以配置,所以具體的數(shù)據(jù)含義可以參考自己的設(shè)置。
下圖很形象的給出數(shù)據(jù)的排列含義:

因為所有通道的數(shù)據(jù)采集是按照順序執(zhí)行的,而且數(shù)據(jù)采集的結(jié)果如果不讀取可能會被overwrite或者觸發(fā)overrun信號。如果及時的從ADC_DR中讀出數(shù)據(jù)并放到正確的位置是很重要的。采用DMA是一種方法,當(dāng)然另一種是不采用DMA。在轉(zhuǎn)換速度很慢切沒有其他任務(wù)需要緊急執(zhí)行時可以不適用DMA,而是用軟件輪訓(xùn)的方式來檢測EOC,不過這種方式還是有潛在的overrun的危險。還有一種不用DMA的方式是將OVERMOD設(shè)置成1,然后每次讀取ADC_DR里面的數(shù)據(jù)時只獲取最新的數(shù)據(jù),數(shù)據(jù)的通道可能是轉(zhuǎn)換序列中的任何一個,這種方式在一些特殊場景中有用。最好用的方式當(dāng)然是使用DMA了。但是采用DMA的方法技術(shù)也稍微復(fù)雜,可使用one-shot和circular模式。前者每完成DMA transfer之后就停止ADC的掃描序列等動作,后者則更適合完成一系列的ADC轉(zhuǎn)換。
[1.3> 時鐘的配置]
在上個帖子中簡單介紹了一下ADC時鐘來源的問題。除了哪里介紹的同步和異步模式外,還需要注意的是:對于STM32L0 ADC模塊的最高時鐘頻率是16MHZ,因此在配置時鐘時無論同步異步在分頻后的頻率一定不能超過這個頻率。那異步模式來說,頻率是由HSI提供的而L031K6的HSI頻率是16MHZ。這個數(shù)據(jù)時剛好的。當(dāng)然你還可以2/4/8分頻,至于同步模式就一定要注意分頻的數(shù)目。
  1.     /* Blocking mode: Polling */
  2.     HAL_StatusTypeDef    HAL_ADC_Start(ADC_HandleTypeDef* hadc);
  3.     HAL_StatusTypeDef    HAL_ADC_Stop(ADC_HandleTypeDef* hadc);
  4.     HAL_StatusTypeDef    HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout);                 
  5.     HAL_StatusTypeDef    HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeout);
  6.                         
  7.     /* Non-blocking mode: Interruption */
  8.     HAL_StatusTypeDef    HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc);
  9.     HAL_StatusTypeDef    HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc);
  10.                         
  11.     /* Non-blocking mode: DMA */
  12.     HAL_StatusTypeDef    HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length);
  13.     HAL_StatusTypeDef    HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc);
復(fù)制代碼
上面是stm32Ll0xx_hal_adc.h中的一部分代碼。上面介紹了三種讀取方式。一種是堵塞式的,另外兩種是非堵塞式的。堵塞式的顧名思義是ADC讀取完之后返回讀取的數(shù)據(jù)。非堵塞式的就是發(fā)送讀取命令之后,等待讀取完成將數(shù)據(jù)返回給你。非堵塞式的也分為兩類。一種是中斷式的,另一種是DMA方式。這就涉及到處理完成之后如何得到數(shù)據(jù)。

[2   實驗介紹]
我比較喜歡使用HAL變成,因為ST的新硬件都是以HAL作為主要的驅(qū)動平臺。ADC的使用除了按照我上面的介紹來設(shè)置外,還需要對API做一些簡單的了解。稍后可以看我在cube里面的配置,但是程序?qū)ζ渑渲糜行┬薷摹T趯嶒灂r遇到了一些問題。在下面的介紹中做了詳細(xì)介紹。
首先,我在PA1、PA3上接上搖桿的XY軸電位器,另外打開了溫度采集通道。當(dāng)然其它硬件連接也就緒了。通過UART2輸出信息,但是因為SB3沒有接上0歐姆電阻所以通過STlink的USB并不能輸出直接輸出信息。所以如果需要開通ST-Link的VCP通道需要焊接SB3上的電阻。具體可以看原理圖。
下面是連接的硬件,硬件原理圖可以看下一個實驗的文檔,因為硬件連接差別不大。
實驗內(nèi)容就是通過串口將ADC的數(shù)據(jù)輸出,ADC采樣通過DMA循環(huán)采樣,但是UART輸出和LD3閃動同步,大約200毫秒輸出一次。下面是實驗場景圖



這里說明一下實驗過程中遇到的幾個問題。第一個問題是溫度的ADC數(shù)據(jù)采集之后如何處理成溫度。第二個是DMA的數(shù)據(jù)如何接受,還有就是實驗結(jié)束的標(biāo)志是什么。本實驗沒有用到,按道理應(yīng)該是我需要的數(shù)據(jù)轉(zhuǎn)換結(jié)束后,通過中斷來調(diào)用ADC顯示任務(wù)。第三個問題是ADC影響HAL_Delay()。第四個是ADC的串?dāng)_問題。前兩個問題不涉及具體實驗現(xiàn)象問題,可以通過搜索RM文檔找相關(guān)關(guān)鍵字找到解決辦法。這里具體講后兩個問題。
第三個問題起初的原因是這樣的我的配置打開了ADC的continuous模式,就是說我的ADC是采集完一輪之后再去轉(zhuǎn)換。DMA的優(yōu)先級我設(shè)置的比systick中斷高.ADC的一直運(yùn)行,ADC轉(zhuǎn)換的結(jié)果一直調(diào)用DMA處理新數(shù)據(jù)。所以Systick一直來不及處理Systick的中斷處理函數(shù)。所以最終的現(xiàn)象是我的LED一直處于亮起的狀態(tài),而不閃動。在檢查代碼是我發(fā)現(xiàn)程序一直回調(diào)Delay的函數(shù)。解決辦法就是我在閃動一次LED時采集一次,然后顯示。當(dāng)然這樣做只是為了測試ADC,后期我上RTOS的時候再設(shè)計一種更好的調(diào)用方式。
第三個問題是第二路ADC對溫度采集有串?dāng)_。具體表現(xiàn)是第一路搖桿左右移動時,不影響第二路輸出,本身正常。但是第二路在前后移動時,影響溫度傳感器的輸出值,而且變化很大。我之前在用Arduino時遇到過這種問題,但是沒有遇到過只是其中一路對下一路影響的。但是還是決定是串?dāng)_問題,我自己也嘗試修改采樣時間,但改動不大,溫度的輸出值變化還是有。直到我找到官方的一篇文章介紹之后,才發(fā)現(xiàn)自己的設(shè)置還是太小。
我將文檔上傳,請看: 掃描模式下 ADC 發(fā)生通道間串?dāng)_.pdf (148.99 KB, 下載次數(shù): 5)
除了修改采樣時間還可以修改時鐘,我最早是DIV1的現(xiàn)在改成DIV8,采樣時間不用太大也可以。具體看代碼。
然后我懷疑STM32內(nèi)部的溫度傳感器內(nèi)阻太大,而我外部的搖桿采樣內(nèi)阻很小,所以就產(chǎn)生了這種現(xiàn)象。

對了這是代碼: ADC_DMA_T1.7z (1.03 MB, 下載次數(shù): 8)

2.2 freeRTOS實驗
[1    freeRTOS實驗]
[1.1> 實驗描述]下面是用CAD繪制的硬件連接圖,分圖層。為了方便沒有CAD的朋友,我轉(zhuǎn)成了PDF格式,用adobe reader可以關(guān)閉和打開圖層。
先上兩張樣圖,然后附上PDF和CAD 的附件。這兩張樣圖分別提供了mbed接口和引腳連接信號圖。在提供的PDF和CAD中都有圖層的概念,你可以通過選擇開關(guān)圖層。
      
PDF文件
L032KG-Model.pdf (116.81 KB, 下載次數(shù): 5)
CAD文件,2013版本的。因為格式問題,故封裝成壓縮包格式。
L032KG.rar (43.11 KB, 下載次數(shù): 5)


[1.2> 線程及通訊描述]
這個上系統(tǒng)的變成重點是安排線程中斷和各種數(shù)據(jù)結(jié)構(gòu),思想是重要的。平臺有時候沒有那么具有特定性,畢竟當(dāng)前的RTOS系統(tǒng)說到底性能也許有差別,但是通常支持的技術(shù)是一致的。對于編程者來講,思想是更重要的。所以我們才會看到ARM設(shè)法用CMSIS-RTOS來統(tǒng)一化各個操作系統(tǒng)的接口。從長期來看,我是看好這種變化的,但是目前選定一種RTOS是很有必要的,畢竟工作有時是需要熟練應(yīng)用所學(xué)的技術(shù)的。好了廢話不多說,看看我的線程調(diào)度和安排吧。
-

[2    RTX實驗對比] (保留篇幅,之后再添加)

[3    freeRTOS不用CMSIS-RTOS會不會更合理] (保留篇幅,之后再添加)

2.2 低功耗模式實驗(保留篇幅,之后再添加)


其實這篇幾天前就也開始寫了,但是因為白天要去面試,所以斷斷續(xù)續(xù)。中途還去ST深圳參加了藍(lán)牙的培訓(xùn)。和一起培訓(xùn)的小伙伴聊天。他說之前的培訓(xùn)都是ST自己辦的,干貨較多沒有板子送。可是這次是聚碼的小哥講的,送了塊板子,干貨很少,因為他不愿意講怎么用st的blueNRG,只是簡單講了自己的API怎么用。
不過感謝ST了,學(xué)習(xí)還要靠自己





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: av永久| 欧美日韩亚洲在线 | aaaa一级毛片 | 免费成人在线网站 | 最新免费视频 | 成人免费大片黄在线播放 | 国产亚韩 | 一区二区三区四区在线视频 | 一区二区播放 | 狠狠操狠狠操 | 精品欧美一区二区三区免费观看 | 亚洲女人天堂成人av在线 | 亚州春色| 久久一区二区三区四区五区 | 亚洲综合无码一区二区 | 欧美天堂在线观看 | 日韩一区二区三区av | 日韩av啪啪网站大全免费观看 | 精品欧美乱码久久久久久 | 久久99久久久久 | 在线观看久草 | 久久精品国产99国产精品 | 久久久久久久一区 | 中国一级特黄真人毛片免费观看 | 一区二区三区四区免费视频 | 一区在线播放 | 日韩一二三区视频 | 国产一区二区自拍 | 91精品国产欧美一区二区成人 | 日韩aⅴ在线观看 | 狠狠久久| 中文字幕一级毛片视频 | 欧美精品在欧美一区二区少妇 | 97精品国产97久久久久久免费 | 九九精品在线 | 国产一区二区三区四区三区四 | 91精品国产高清一区二区三区 | 欧美激情五月 | 成人在线视频网 | 久久久成人一区二区免费影院 | 久久最新精品视频 |