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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論