STM32F103通用教程.doc_第1頁(yè)
STM32F103通用教程.doc_第2頁(yè)
STM32F103通用教程.doc_第3頁(yè)
STM32F103通用教程.doc_第4頁(yè)
STM32F103通用教程.doc_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

STM32F103_使用心得IO端口輸入輸出模式設(shè)置:.;Delay延時(shí)函數(shù):.;IO端口使用總結(jié):.;IO口時(shí)鐘配置:.;初始化IO口參數(shù):.;注意:時(shí)鐘使能之后操作IO口才有效!.;IO端口輸出高低電平函數(shù):.;IO的輸入IO端口輸入輸出模式設(shè)置: . 1Delay延時(shí)函數(shù): . 2IO端口使用總結(jié): . 2IO口時(shí)鐘配置: . 2初始化IO口參數(shù): . 2注意:時(shí)鐘使能之后操作IO口才有效! . 2IO端口輸出高低電平函數(shù): . 2IO的輸入和輸出宏定義方式: . 3讀取某個(gè)IO的電平函數(shù): . 3IO口方向切換成雙向 . 3IO 口外部中斷的一般步驟: . 3內(nèi)部ADC使用總結(jié): . 4LCDTFT函數(shù)使用大全 . 5TFTLCD使用注意點(diǎn): . 5IO端口宏定義和使用方法: . 6Keil使用心得: . 6ucGUI移植 . 6DDS AD9850測(cè)試程序: . 6ADC 使用小結(jié): . 7ADC測(cè)試程序: . 9DACtlv5638測(cè)試程序 . 9紅外測(cè)試程序: . 9DMA使用心得: . 9通用定時(shí)器使用: . 9BUG發(fā)現(xiàn): . 10編程總結(jié): . 10時(shí)鐘總結(jié): . 10漢字顯示(外部SD卡字庫(kù)): . 11字符、漢字顯示(內(nèi)部FLASH) . 12圖片顯示: . 16觸摸屏: . 17引腳連接: . 19IO端口輸入輸出模式設(shè)置:Delay延時(shí)函數(shù):delay_ms(u16 nms);delay_us(u32 nus);IO端口使用總結(jié):1)使能IO 口時(shí)鐘。調(diào)用函數(shù)為RCC_APB2PeriphClockCmd()。2)初始化IO 參數(shù)。調(diào)用函數(shù)GPIO_Init();3)操作IO。IO口時(shí)鐘配置:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);初始化IO口參數(shù):注意:時(shí)鐘使能之后操作IO口才有效!GPIO_InitTypeDefGPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure); /上拉輸入GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure); /LED0-PA.8 端口配置 /推挽輸出技巧:如果為同一端口的不同引腳,可以使用或運(yùn)算,如GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13|GPIO_Pin_15;IO端口輸出高低電平函數(shù):GPIO_SetBits(GPIOA,GPIO_Pin_8|GPIO_Pin_9); /PA.8 輸出高 GPIO_ResetBits(GPIOA,GPIO_Pin_8);GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitActionBitVal);/可以輸出1,也可以輸出0GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);/整體輸出一個(gè)值IO的輸入和輸出宏定義方式:#define DATAOUT(x) GPIOB-ODR=x; /數(shù)據(jù)輸出#define DATAIN GPIOB-IDR; /數(shù)據(jù)輸入#define DATAOUT(DataValue)GPIO_Write(GPIOB,(GPIO_ReadOutputData(GPIOB)&0xff00)|(DataValue&0x00FF); /PB07,作為數(shù)據(jù)線讀取某個(gè)IO的電平函數(shù):(一) 讀出一個(gè)IO口電平GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)#define KEY0 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_13) /PA13#define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15) /PA15#define KEY2 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)(二) 讀出某個(gè)IO口的全部電平GPIO_ReadInputData(GPIOC)IO口方向切換成雙向IIC里面的一個(gè)實(shí)例#define SDA_IN() GPIOC-CRH&=0XFFFF0FFF;GPIOC-CRH|=8CRH&=0XFFFF0FFF;GPIOC-CRH|=3PA.8 端口配置 /推挽輸出技巧:如果為同一端口的不同引腳,可以使用或運(yùn)算,如GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13|GPIO_Pin_15;IO端口輸出高低電平函數(shù):GPIO_SetBits(GPIOA,GPIO_Pin_8|GPIO_Pin_9); /PA.8 輸出高 GPIO_ResetBits(GPIOA,GPIO_Pin_8);GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitActionBitVal);/可以輸出1,也可以輸出0GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);/整體輸出一個(gè)值IO的輸入和輸出宏定義方式:#define DATAOUT(x) GPIOB-ODR=x; /數(shù)據(jù)輸出#define DATAIN GPIOB-IDR; /數(shù)據(jù)輸入#define DATAOUT(DataValue)GPIO_Write(GPIOB,(GPIO_ReadOutputData(GPIOB)&0xff00)|(DataValue&0x00FF); /PB07,作為數(shù)據(jù)線讀取某個(gè)IO的電平函數(shù):(一) 讀出一個(gè)IO口電平GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)#define KEY0 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_13) /PA13#define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15) /PA15#define KEY2 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)(二) 讀出某個(gè)IO口的全部電平GPIO_ReadInputData(GPIOC)IO口方向切換成雙向IIC里面的一個(gè)實(shí)例#define SDA_IN() GPIOC-CRH&=0XFFFF0FFF;GPIOC-CRH|=8CRH&=0XFFFF0FFF;GPIOC-CRH|=3BRR|=GPIO_Pin_6; GPIOC-BSRR|=GPIO_Pin_6;Keil使用心得:和的區(qū)別: ,這樣話的時(shí)間比較短; 只要不改變頭文件,我們一般可以使用F7進(jìn)行編譯,即而是整個(gè)重新編譯,花的時(shí)間比較長(zhǎng);ucGUI移植LCD_CONTROLLER (-1) /* lcd控制器的具體型號(hào),-1 表示是自己定義的型號(hào)*/ ucGUI是可以不帶操作系統(tǒng)的;DDS AD9850測(cè)試程序:ADC 使用小結(jié):在內(nèi)部ADC中,單次轉(zhuǎn)換和連續(xù)轉(zhuǎn)換的區(qū)別:如果用TIME去定時(shí)的時(shí)候,就要選擇單次轉(zhuǎn)換,用定時(shí)器去啟動(dòng)轉(zhuǎn)換;如果使用連續(xù)轉(zhuǎn)換的話,那么,它是不聽(tīng)TIME定時(shí)的,會(huì)不聽(tīng)的轉(zhuǎn)換。程序是:ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;采樣頻率不能太高,2K采樣100HZ 方波,頻譜圖:050100150200250三角波的頻譜:050100150200250正弦波的頻譜:ADC測(cè)試程序:DACtlv5638測(cè)試程序紅外測(cè)試程序:DMA使用心得:使用的例子是官方的例程;調(diào)試了半天,原來(lái)是沒(méi)有打開(kāi)時(shí)鐘;RCC_AHBPeriphClock

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論