STM32常見知識(shí)點(diǎn)_第1頁
STM32常見知識(shí)點(diǎn)_第2頁
STM32常見知識(shí)點(diǎn)_第3頁
STM32常見知識(shí)點(diǎn)_第4頁
STM32常見知識(shí)點(diǎn)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、將 stm32f103z8t6 模板改成 stm32f103c8t6 只需要將 c+MD 改為STM32F10X_MD,USE_STDPERIPH_DRIVERSTM32 嵌入式筆記常見知識(shí)點(diǎn)解析前言:基礎(chǔ)知識(shí)VDD:電源電壓(單極器件);電源電壓(4000系列數(shù)字電路);漏極電壓(場(chǎng)效應(yīng)管)VCC:電源電壓(雙極器件);電源電壓(74系列數(shù)字電路);聲控載波(VoiceControlledCarrier)VSS:地或電源負(fù)極VEE:負(fù)電壓供電;場(chǎng)效應(yīng)管的源極(S)VPP:編程/擦除電壓。詳解:在電子電路中,VCC是電路的供電電壓,VDD是芯片的工作電壓:VCC:C=circuit表示電路的意

2、思,即接入電路的電壓,D=device表示器件的意思,即器件內(nèi)部的工作電壓,在普通的電子電路中,一般VccVdd!VSS:S=series表示公共連接的意思,也就是負(fù)極。有些IC同時(shí)有VCC和VDD,這種器件帶有電壓轉(zhuǎn)換功能。在場(chǎng)效應(yīng)”即COMS元件中,VDD乃CMOS的漏極引腳,VSS乃CMOS的源極引腳,這是元件引腳符號(hào),它沒有“VCC的名稱,你的問題包含3個(gè)符號(hào),VCC/VDD/VSS,這顯然是電路符號(hào)。開放板硬件資源連接:LED0=PB5LED1=PE5通過TIM3控制的LED1的閃爍情況)KEY0=PE4KEY1=PE3KEY2=PE2KEY_UP=PA0While();當(dāng)括號(hào)里面為

3、1時(shí)為真時(shí),這是一個(gè)死循環(huán),代碼不再向下執(zhí)行。當(dāng)括號(hào)里面為0為假,代碼繼續(xù)向下執(zhí)行。While(1);這是一個(gè)死循環(huán),代碼不再向下執(zhí)行。任何美好情感的得到,任何美好事物的創(chuàng)造從來都是不輕松的你不可能輕輕松松的實(shí)現(xiàn)夢(mèng)想獲得成功人類一切美好的東西都是要有稱重的都是會(huì)累的其實(shí)所謂的愛就是分享同步的感受這個(gè)世界,成熟起來獨(dú)立和分享你們?cè)谕降挠^察和感受這個(gè)世界努力讓自己獨(dú)立起來在一起時(shí)努力甜蜜,不在一起時(shí)各自精彩5TM32F1QXX時(shí)鐘系統(tǒng)框圖及說明內(nèi)置瓦振蕩器、可被關(guān)閉PLL可以關(guān)閉或信頻M2其犯種選搽PLLCLKSYSCLKSYSCLKHSF晶體麻器可被美用或裱若路AH瞬前,分頻因子共有9腳選攆分

4、別為1、&4、8.16,64,128.256、612AHCLKupto72MHzAHePrescaler一旦H3E的則自 動(dòng) 切 投 至SYSCLK=HSIusePra-Hralo-r-1OF*-=-1,昨日預(yù)穗其有2#選擇-1#0-1.5.PGLK1upto36MHzTIMxCLK酒用定時(shí):a時(shí)神APBZPrescalerADCPrescalerUSBGLK48MHZUR 時(shí)鐘TIMICLKTlMlWffADCCLKADC時(shí)鐘冉DC預(yù)知黑斕因子共有&種蹣,分別為2,4、&BSTM3由釋放您的創(chuàng)造力8MHz05COUTPLLCLKar72MHz32.76BKHzOSC3

5、2OUTRTCCILKRTCH#L5E0家輸出內(nèi)部時(shí)鐘LSIRCIWDGCLK 軸立著門狗時(shí)鐘品雨期器可破關(guān)閉或祓旁路內(nèi)置新推蕩器、可被圣團(tuán)APlBlPrescalerPCLK2upto72MHzT1M1MuhiplierMlorKZTIM2.3.4MultiplberHlar*2AP敬分懈1時(shí)菊否則痛2浮空輸入:浮空就是邏輯電平器件的輸入引腳不接高電平也不接低電平,由于邏輯電平的內(nèi)部的結(jié)構(gòu), 當(dāng)輸入引腳懸空時(shí), 相當(dāng)于該引腳接入了高電平。一般實(shí)際運(yùn)用時(shí),該引腳不建議懸空,易受干擾。通俗的講就是讓管教什么也不接,浮空著。模擬輸入:模擬輸入是指?jìng)鹘y(tǒng)方式的輸入。數(shù)字輸入時(shí)輸入PCM數(shù)字信號(hào)。即0、

6、1的二進(jìn)制數(shù)字信號(hào),通過數(shù)模轉(zhuǎn)換,轉(zhuǎn)換成模擬信號(hào),經(jīng)前級(jí)放大進(jìn)入功率放大器,功率放大器還是模擬的。推挽輸出:可以輸出高電平,低電平,連接數(shù)字器件,推挽結(jié)構(gòu)一般是指兩個(gè)三極管分別受兩個(gè)互補(bǔ)信號(hào)的控制,總是在一個(gè)三極管導(dǎo)通的時(shí)候另一個(gè)截止。高低電平由IC的電源決電流型驅(qū)動(dòng),其吸收電流能力相對(duì)較強(qiáng)。開漏輸出:輸出端相當(dāng)于三極管的集電極,要得到高電平狀態(tài)需要上拉電阻才行,適合于做復(fù)用開漏輸出、 復(fù)用推挽輸出: 可以理解為作為通用IO口使用)GPIO口被用作第二功能時(shí)的配置情況(即并非GPIO_Mode_AIN模擬輸入GPIO_Mode_Out_ODFF漏輸出PIO_Mode_IN_FLOATING?空

7、輸入GPIO_Mode_Out_Pp隹挽輸出GPIO_Mode_IPD下拉GPIO_Mode_AF_OD復(fù)用開漏輸出GPIO_Mode_IPU上拉GPIO_Mode_AF_PPS用推挽輸出關(guān)于引腳復(fù)用與映射的問題:default(default(默認(rèn)復(fù)用功能)remapremap(重定義功能) )1、例如串口 1 的發(fā)送接收引腳是 PA9,PA10 當(dāng)我們把 PA9,PA1 懷用作 GPIO,而用做復(fù)用功能串口 1 的發(fā)送接收引腳的時(shí)候,叫端口復(fù)用1、GPIO 端口時(shí)鐘使能。RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);2、復(fù)用外設(shè)時(shí)鐘

8、使能。比如你要將端口 PA9,PA1QM 用為串口,所以要使能串口時(shí)鐘。RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);2、即一個(gè)外設(shè)的引腳除了具有默認(rèn)的端口外,還可以通過設(shè)置重映射寄存器的方式,把這個(gè)外設(shè)的引腳映射到其它的端口。重映射AFIO 重映射的步驟:1、使能被映射到的 IO 端口時(shí)鐘2、使能被映射到的外設(shè)時(shí)鐘3、使能 AFIO 功能的時(shí)鐘4、進(jìn)行重映射GPIO_InitTypeDefGPIO_InitStructure;/PWM 中重映射的例子TIM_TimeBaseInitTypeDefTIM_TimeBaseStructu

9、re;TIM_OCInitTypeDefTIM_OCInitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE能定時(shí)器 3 時(shí)鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFICENABLE); 使能 GPIO 外設(shè)和 AFIO 復(fù)用功能模塊時(shí)鐘GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE);TimeT3分重映射 TIM3_CH2-PB5remapremap(重定義功能)/)/此方格中的需要進(jìn)行重映

10、射MODE 的設(shè)置問題:1、LEW 設(shè)置為推挽輸出2、KEY0KEY1KEY 潴 B 是低電平有效,KEY_U 混高電平有效PE2TRACECK/FSMCA23PE3/TRACEIXVFSMCZA19PEJTRACED1/FSMC_A20PAO34KEY0KEY1KEY 極置為上拉輸入、KEY_U 股置為下拉輸入。3、 u8KEY_Scan(u8mode)(staticu8key_up=1;/ 按 鍵 按 松 開 標(biāo) 志if(mode)key_up=1; 支 持 連 按if(key_up&(KEY0=0|KEY1=0|KEY2=0|WK_UP=1)(delay_ms(10);/去抖動(dòng)

11、key_up=0;if(KEY0=0)returnKEY0_PRES;elseif(KEY1=0)returnKEY1_PRES;elseif(KEY2=0)returnKEY2_PRES;elseif(WK_UP=1)returnWKUP_PRES;elseif(KEY0=1&KEY1=1&KEY2=1&WK_UP=0)key_up=1;return0;/無按鍵按下按鍵掃描(不支持連續(xù)按)的一般思路(按一下加一)u8KEY_Scan(void)(staticu8key_up=1;/僅第一次執(zhí)行,第二次不會(huì)被按下。代表上次按鍵沒有被按下,是松開的。但是保留上一次的值if

12、(key_up&KEY 按下)(delay_ms(10);延時(shí),防抖key_up=0;標(biāo)記這次 key 已經(jīng)按下/key_up=1,代表按鍵沒有被按下,key_up=0 代表按鍵被按下if(KEY 確實(shí)按下) )(returnKEY_VALUE;elseif(KE 忸有按下)key_up=1;此時(shí)的值會(huì)被保留在 static 里面 return 沒有按下按鍵掃描(兩種模式合二為一)的一般思路u8KEY_Scan(u8mode)(staticu8keyup=1;/此句沒意義if(mode=1)key_up=1;支持連續(xù)按key_up=1代表直沒有按下key_up直會(huì)等于1if(key_u

13、p&KEY按下)(delay_ms(10);延時(shí),防抖key_up=0;/標(biāo)記這次key已經(jīng)按卜此句沒有意義if(KEY確實(shí)按下) )(returnKEY_VALUE;)elseif(KEY沒有按下)keyup=1;此句沒有意義return沒有按下比較重要的函數(shù)的用法:例題1、帶參數(shù)的形式u8Is_Leap_Year(u16year)(if(year%4=0)/必須能被4整除(if(year%100=0)(if(year%400=0)return1;如果以00結(jié)尾,還要能被400整除能被4、100、400整除elsereturn0;能被4和100整除但是不能被400整除elseretu

14、rn1;/僅能被4整除elsereturn0;/都整除不了for(t=1970;t1、引導(dǎo)碼:相當(dāng)于一把鑰匙單片機(jī)只有檢測(cè)到了引導(dǎo)碼出現(xiàn)了牙確認(rèn)接收后面的數(shù)據(jù)保證數(shù)據(jù)接收的正確性2、客戶碼:用來區(qū)分各紅外遙控設(shè)備使之不會(huì)互相干擾一3、操作碼:用戶實(shí)際須要的編碼按下不同的健產(chǎn)生不同的操作碼,待接收端接收到后根據(jù)其進(jìn)行不同的操作4、操作反碼:為操作碼的反碼目的是接收端接收到所有數(shù)據(jù)之后將其取反與操作碼比較不相等則表示在傳輸過程中編碼發(fā)生子變化,視為此次接收的數(shù)據(jù)無效可提高接收數(shù)據(jù)的準(zhǔn)確性.#include#defineucharunsignedchar#defineuintunsignedints

15、bitir=P3 八 2;ucharirtime;ucharirdata33;/數(shù)據(jù)引導(dǎo)碼+8 位用戶碼 1+8 位用戶碼 2+8 位操作碼+8 位操作反碼ucharbitnum;/位的數(shù)值ucharstartflag;ucharirok;ucharircode4;引導(dǎo)碼、用戶碼 1、用戶碼 2、操作碼、操作反碼ucharirprosok;/紅外碼值處理uchardisnum8;sbitdula=P2 八八 6;sbitwela=P2A7;ucharcodetable_du=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,

16、0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;ucharcodetable_we=0 xfe,0 xfd,0 xff,0 xff,0 xef,0 xdf;voidtimer0init(void)/256*(1/12m)*12=0.256ms 一共 irtime 的時(shí)間TMOD=0 x02;TH0=0 x00;TL0=0 x00;ET0=1;EA=1;TR0=1;有四個(gè)碼,一個(gè)碼 8 位voidirpros(void)/紅外碼值處理/紅外碼值處理處理 0 碼 4.4 和 1 碼 8,8 取中間值 6ucharmun,k,i,j;k=1;for(j=0;j4;j+)有四個(gè)

17、碼,操作碼,操作反碼(for(i=0;i1;if(irdatak6)/說明是高電平 1;/設(shè)置時(shí)間(mun=mun|0 x80;/最高位置k+;ircodej=mun;/提取出來的值,放在 ircode 里面保存起來irprosok=1;/標(biāo)志位說明紅外處理已經(jīng)結(jié)束voidirwork(void)/紅外碼值轉(zhuǎn)換 4 個(gè)碼在開發(fā)板上顯示出來disnum0=ircode0/16;/16 進(jìn)制數(shù)disnum1=ircode0%16;disnum2=ircode1/16;disnum3=ircode1%16;disnum4=ircode2/16;disnum5=ircode2%16;disnum6=i

18、rcode3/16;disnum7=ircode3%16;delay(ucharx)uchara,b;for(a=x;a0;a-)for(b=200;b0;b-);display。uchari;for(i=0;i32&irtime63)/8-16ms/弓 I 導(dǎo)碼 13.5us13.50.256/定義取值范圍 32 到 63(bitnum=0;)irdatabitnum=irtime;/往里面裝值irtime=0;bitnum+;if(bitnum=33)(bitnum=0;irok=1;接收完成)else(irtime=0;startflag=1;)voidtimer0()interrupt1/定時(shí)器irtime+;慧靜電子紅外遙控程序(相對(duì)較簡(jiǎn)單):#include#defineLeft_moto_go機(jī)向前走#defineLeft_moto_back轉(zhuǎn)#defineLeft_moto_Stop#defineRight_moto_go#defineRight_moto_backP1_2=0,P1_3=1;左邊電P1_2=1,P1_3=0;/左邊電機(jī)向后P1_

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論