版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
使用GPIO時(shí),按如下步驟:開(kāi)啟GPIO時(shí)鐘;配置GPIO工作模式;使用GPIO口進(jìn)行輸入或輸出。intmain(void){GPIO_InitTypeDefGPIO_Initstructure;//聲明用于GPIO初始化的結(jié)構(gòu)體變量RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIOA時(shí)鐘GPIO_Initstructure.GPIO_Pin=GPIO_Pin_0;//設(shè)置引腳;對(duì)PAo引腳進(jìn)行設(shè)置GPIO_Initstructure.GPIO_Mode=GPIO_Mode_out_PP;//設(shè)置工作模式;選擇推挽輸出模式GPIO_Initstructure.GPIO_Speed=GcPIo_Speed_50MHz;//設(shè)置輸出速率;輸出頻率最高為50MHzGPIO_Init(GPIOA,&GPIO_Initstructure);//使用結(jié)構(gòu)體成員的值對(duì)GPIOA進(jìn)行初始化while(1){GPIO_SetBits(GPIOA,GPIO_Pin_o);//GPIOA.0號(hào)引腳輸出高電平//GPIO_writeBit(GPIOA,GPIO_Pin_o,(Bitaction)1);//用GPIO_writeBit函數(shù)來(lái)輸出高電平,//將數(shù)值1強(qiáng)制轉(zhuǎn)換為BitAction類(lèi)型。//GPIO_writeBit(GPIOA,GPIO_Pin_0,Bit_SET);//用GPIOwriteBit函數(shù)來(lái)輸出高電平Delay_ms(500);GPIO_ResetBits(GPIOA,GPIO_Pin_0);//GPIOA.0號(hào)引腳輸出低電平//GPIO_writeBit(GPIOA,GPIO_Pin_o,(BitAction)0);//用cPIo_writeBit函數(shù)來(lái)輸出高電平,//將數(shù)值0強(qiáng)制轉(zhuǎn)換為BitAction類(lèi)型。//GPIO_writeBit(GPIOA,GPIO_Pin_0,BitRESET);//用GPIOwriteBit函數(shù)來(lái)輸出高電平delay_ms(500);}}以上代碼為使用GPIOA的0號(hào)端口驅(qū)動(dòng)LED,每隔0.5s翻轉(zhuǎn)一次LED的狀態(tài)。掌握每一條語(yǔ)句的功能。能夠使用GPIO_SetBits/GPIO_ResetBits來(lái)替換GPIO_WriteBit;或用GPIO_WriteBit來(lái)替換GPIO_SetBits/GPIO_ResetBits定時(shí)器初始化程序參考如下:voidTIMER2_Init(void){TIM_TimeBaseInitTypeDefTIM_TimeBasestructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);TIM_InternalClockConfig(TIM2);TIM_TimeBasestructure.TIM_Period=50000-1;//ARR的值TIM_TimeBasestructure.TIM_Prescaler=7200-1;TIM_TimeBasestructure.TIM_counterMode=TIM_CounterMode_up;l/向上計(jì)數(shù)模式TIM_TimeBaseInit(TIM2,&TIM_TimeBasestructure);TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);TIM_Cmd(TIM2,ENABLE);//開(kāi)啟時(shí)鐘計(jì)數(shù)器使能}定時(shí)器中斷系統(tǒng)的初始化程序:voidNVIC_config(void){NVIC_InitTypeDefNVIC_Initstructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);//配置中斷優(yōu)先級(jí)分NVIC_Initstructure.NVIC_IRQChannel=TIM2_IRQn;//指定中斷源NVIC_Initstructure.NVIC_IRQChannelPreemptionPriority=0;//指定搶占式優(yōu)先級(jí)別NVIC_Initstructure.NVIC_IRQChannelSubPriority=o;//指定副優(yōu)先級(jí)別NVIC_Initstructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_Initstructure);}定時(shí)器中斷服務(wù)函數(shù)u8turn=2;voidTIM2_IRQHandler(void){if(TIM_GetITstatus(TIM2,TIM_IT_Update)==SET){TIM_ClearITPendingBit(TIM2,TIM_IT_Update);turn++;switch(turn){case(l):LED_LoopShift(GPIOB,0,1);break;case(2):LED_LoopShift(GPIOB,0,3);break;case(3):turn=0;GPIO_Write(GPIOB,OxFE);break;default:break;}}}用定時(shí)器來(lái)代替delay函數(shù),控制LED的亮滅翻轉(zhuǎn)u8turn=0;TFlag=1;while(1){if(TFlag==1){TFlag=0;turn=l-turn;if(turn)GPIO_SetBits(GPIOA,GPIO_Pin_0);elseGPIO_ResetBits(GPIOA,GPIO_Pin_0);}}利用串口接收到的數(shù)據(jù)內(nèi)容來(lái)控制LED的亮滅。voidUSART1_IRQHandler(void){u8recdata;if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET){USART_ClearITPendingBit(USART1,USART_IT_RXNE);//清除接收中斷掛起標(biāo)志reddata=USART_ReceiveData(USART1);USART_sendData(USART1,recdata+0x2);recdata變量來(lái)控制LED亮滅。替換while(l)if(recdata==l)GPIO_setBits(GPIOA,GPIo_Pin_0);elseif(recdata==0)GPIOResetBits(GPTOA,GPIO_Pin_O);}
計(jì)算機(jī)基本結(jié)構(gòu)由處理器(CPU)、存儲(chǔ)器、輸入/輸出接口(I/0接口)及外部設(shè)備等組成,其中最核心的部件是處理器(CPU)3計(jì)算機(jī)兩種結(jié)構(gòu):馮諾依曼和哈佛結(jié)構(gòu)。 馮諾依曼中,數(shù)據(jù)和程序都存儲(chǔ)再存儲(chǔ)器中,均采用數(shù)據(jù)總線進(jìn)行傳輸;哈佛結(jié)構(gòu),數(shù)據(jù)和程序使用各自獨(dú)立的存儲(chǔ)器,采用數(shù)據(jù)總線和指令總線分別進(jìn)行傳輸。STM32采用哈佛結(jié)構(gòu)。Cortex-M3內(nèi)核由ARM公司開(kāi)發(fā),基于哈佛結(jié)構(gòu)的三級(jí)流水線,內(nèi)部數(shù)據(jù)總線、寄存器和存儲(chǔ)器都是32位。采用ARMV7-M架構(gòu),支持Thumb指令和Thumb-2指令,不支持ARM指令。NVIC(向量中斷控制器),內(nèi)核自帶。主要功能有:配置中斷優(yōu)先級(jí)分組,配置優(yōu)先級(jí)值,配置中斷總使能開(kāi)關(guān)。系統(tǒng)滴答定時(shí)器(systick),內(nèi)核自帶的24位倒計(jì)時(shí)計(jì)數(shù)器,常用于操作系統(tǒng)??偩€結(jié)構(gòu):I-Code(指令總線)、D-code(數(shù)據(jù)總線)、AHB(系統(tǒng)總線)、APB(外設(shè)總線,包括APB1(低速外設(shè)總線)和APB2(高速外設(shè)總線))通過(guò)位帶操作,用戶可以使用普通的加載/存儲(chǔ)指令對(duì)單一的位進(jìn)行讀寫(xiě)。STM32F1產(chǎn)品系統(tǒng)架構(gòu):總線,DMA通道,外設(shè)(APB2和APB1上各自掛載的常用外設(shè))STM32F103ZET6的時(shí)鐘樹(shù):用戶可通過(guò)多個(gè)預(yù)分頻器配置AHB、高速APB(APB2)、低速APB(APB1)的頻率。固件庫(kù)系統(tǒng)時(shí)鐘配置流程(外部高速時(shí)鐘晶振8MHz,經(jīng)PLL9倍頻,獲得72MHz的系統(tǒng)時(shí)鐘)變量編碼規(guī)則:功能狀態(tài)類(lèi)型(FunctionalStatetype)的可能值為ENABLE或DISABLE。STM32F1最多有7組GPIO,每16個(gè)端口為一組,分別為PA、PB、PC、PD、PE、PF、PG。(如PA.0~PA.15表示GPIOA的0~15號(hào)端口)GPIO功能:普通I/0:八種模式。所有GPIO引腳有一個(gè)內(nèi)部弱上拉和弱下拉,當(dāng)配置為輸入時(shí),它們可以被激活也可以被斷開(kāi)。單獨(dú)的位設(shè)置或位清除。在單次APB2寫(xiě)操作中,可以只更改一個(gè)或多個(gè)位。這是通過(guò)對(duì)“置位/復(fù)位寄存器”(GPIOx_BSRR),或位清除寄存器(GPIOx_BRR)中想要更改的位寫(xiě)1來(lái)實(shí)現(xiàn)的。沒(méi)被選擇的位將不被更改。外部中斷/喚醒線。所有端口都有外部中斷能力。為了使用外部中斷線,端口必須配置成輸入模式。GPIO庫(kù)函數(shù):RCC外設(shè)主要固件庫(kù)函數(shù)RCC_APB2PeriphClockCmd();掛載在APB2總線上外設(shè)的時(shí)鐘使能RCC_APB1PeriphClockCmd();掛載在APB1總線上外設(shè)的時(shí)鐘使能GPIO外設(shè)主要固件庫(kù)函數(shù)GPIO_Init()
根據(jù)初始化結(jié)構(gòu)體來(lái)自定義初始化引腳GPIO_SetBits()/GPIO_ResetBits()
設(shè)置/復(fù)位在輸出模式下使用的引腳電平。GPIO_WriteBit()
將數(shù)據(jù)寫(xiě)入指定的GPIO數(shù)據(jù)端口。DMA控制器STM32的兩個(gè)DMA控制器有12個(gè)通道(DMA控
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)射頻功率放大器行業(yè)開(kāi)拓第二增長(zhǎng)曲線戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)企業(yè)管理培訓(xùn)行業(yè)營(yíng)銷(xiāo)創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)新型健康服務(wù)行業(yè)資本規(guī)劃與股權(quán)融資戰(zhàn)略制定與實(shí)施研究報(bào)告
- 新形勢(shì)下高空作業(yè)平臺(tái)行業(yè)快速做大市場(chǎng)規(guī)模戰(zhàn)略制定與實(shí)施研究報(bào)告
- 比較文學(xué)情境母題研究
- 建設(shè)無(wú)煙學(xué)校宣傳資料
- 建設(shè)培訓(xùn)中心規(guī)章制度
- 初中地理會(huì)考知識(shí)點(diǎn)
- 2025年中國(guó)電信運(yùn)營(yíng)商行業(yè)全景評(píng)估及投資規(guī)劃建議報(bào)告
- 云南省楚雄州2023-2024學(xué)年九年級(jí)上學(xué)期期末教育學(xué)業(yè)質(zhì)量監(jiān)測(cè)化學(xué)試卷
- 煤礦巷道噴涂技術(shù)方案
- 新版中國(guó)腦出血診治指南
- 高校搬遷可行性方案
- 充電樁選址優(yōu)化與布局規(guī)劃
- 科技產(chǎn)業(yè)園項(xiàng)目投資計(jì)劃書(shū)
- 苗木采購(gòu)?fù)稑?biāo)方案(技術(shù)標(biāo))
- JJF 1030-2023溫度校準(zhǔn)用恒溫槽技術(shù)性能測(cè)試規(guī)范
- 輸變電工程安全文明施工設(shè)施標(biāo)準(zhǔn)化配置表
- 一銷(xiāo)基氯苯生產(chǎn)車(chē)間硝化工段工藝初步設(shè)計(jì)
- 自動(dòng)控制原理仿真實(shí)驗(yàn)課程智慧樹(shù)知到課后章節(jié)答案2023年下山東大學(xué)
- 【城市軌道交通運(yùn)營(yíng)安全管理研究9200字(論文)】
評(píng)論
0/150
提交評(píng)論