聯(lián)網(wǎng)綜合應(yīng)用基礎(chǔ)小學(xué)期課程秀物聯(lián)_第1頁(yè)
聯(lián)網(wǎng)綜合應(yīng)用基礎(chǔ)小學(xué)期課程秀物聯(lián)_第2頁(yè)
聯(lián)網(wǎng)綜合應(yīng)用基礎(chǔ)小學(xué)期課程秀物聯(lián)_第3頁(yè)
聯(lián)網(wǎng)綜合應(yīng)用基礎(chǔ)小學(xué)期課程秀物聯(lián)_第4頁(yè)
聯(lián)網(wǎng)綜合應(yīng)用基礎(chǔ)小學(xué)期課程秀物聯(lián)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

年7日實(shí)驗(yàn)名稱(chēng):I/O口位輸出(年7日實(shí)驗(yàn)名稱(chēng):I/O口位輸出(流水燈)實(shí)實(shí)驗(yàn)?zāi)繉?shí)驗(yàn)材SWD仿真器一個(gè)(CH340串口線一根返回主目錄,打開(kāi)“2.流水燈”文件夾中的“USER返回“2.流水燈”文件夾,進(jìn)入“USER實(shí)驗(yàn)內(nèi)I/O.燈被點(diǎn)亮;當(dāng)引腳輸出高電平時(shí),LED實(shí)驗(yàn)過(guò).燈被點(diǎn)亮;當(dāng)引腳輸出高電平時(shí),LED實(shí)驗(yàn)過(guò)void{GPIO_InitTypeDefled_gpio;//A/*LEDI/O=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2||GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|//// =GPIO_Init(GPIOA,/*LED*/}②/*LED1-LED4(直接操作寄存器GPIOA->ODR^ LED1#defineGPIOA->BSRR PA0LED1 PA0輸出低電平LED1GPIOA->ODR^= LED2GPIOA->BSRR LED2 LED2#defineGPIOA->ODR^=GPIOA->BSRR= =#defineGPIOA->ODR =#defineGPIOA->ODR^=GPIOA->BSRR= =/*LED5-LED8(調(diào)用庫(kù)函數(shù), PA4LED5, LED5while{}}器的初始化,以及毫秒(ms、微妙(us)級(jí)別的精確延時(shí)。}}器的初始化,以及毫秒(ms、微妙(us)級(jí)別的精確延時(shí)。 fac_us0;//usstaticu16fac_ms0;//msvoid { //為系統(tǒng)時(shí)鐘的1/8fac_ms=(u16)fac_us*1000;//非ucos下,代表每個(gè)ms需要的systick時(shí)鐘數(shù)}{u32{}}//SysTick->LOAD24位寄存器,所以,最大延時(shí)為{u32{}}測(cè)}測(cè) 年718: 年718:SSWD仿真器一個(gè)(CH340串口線一根引腳通過(guò)引腳設(shè)置為通用的I/O3.PB.8—PB.11引腳狀態(tài)來(lái)檢LED3.PB.8—PB.11引腳狀態(tài)來(lái)檢LEDLEDLED和蜂鳴器的管腳為推挽輸出,檢測(cè)按鍵的管腳為上拉輸入。在這里設(shè)置PA0-PA7為L(zhǎng)ED燈的輸出口,不過(guò)用不了這么多,設(shè)置PB0控制蜂鳴器,PB8-PB11為按鍵的輸入口。void{, //A/*LEDI/O =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2||GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|//// =GPIO_Init(GPIOA,/*LED*/}void{GPIO_InitTypeDefbell_gpio;/*I/O =////=/*}void{GPIO_InitTypeDefkey_gpio;/*按鍵I/O配置 =GPIO_Pin_8/*}void{GPIO_InitTypeDefkey_gpio;/*按鍵I/O配置 =GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|//}②在他們所對(duì)應(yīng)的頭文件led.h中,#define GPIO_ReadInputDataBit(GPIOBGPIO_Pin_8)//Key1#define GPIO_ReadInputDataBit(GPIOBGPIO_Pin_9)//Key2#define)//GPIO_ReadInputDataBit(GPIOBGPIO_Pin_11Key410。#defineBELL_ON#defineBELL_OFFGPIO_SetBits和GPIO_ResetBits, //, ////GPIOB->ODR^=while{/*Key1Key3if((KEY1_STAKEY_DN)||(KEY3_STA //{////Key1if(KEY1_STA=={ //}elseif(KEY3_STA=={//Key3}elseif(KEY3_STA=={//Key3 //}}/*Key2Key4if((KEY2_STAKEY_DN)||(KEY4_STA //{////Key2if(KEY2_STA=={}elseif(KEY4_STA=={}//Key4}}{//uint16_ti,for(i=0;i<u16_Time_ms;{for(j=0;j<8192;}}D2K3K1,K4K2 2018年718實(shí)驗(yàn) 2018年718實(shí)驗(yàn)名稱(chēng):外部中斷操作(按鍵實(shí)驗(yàn)材并在工程中添加C文件和h頭文件的目錄。實(shí)驗(yàn)?zāi)縎TM32I/O實(shí)驗(yàn)內(nèi)(NVIC實(shí)驗(yàn)過(guò)LED(NVIC實(shí)驗(yàn)過(guò)LEDI/Oc文件中就void{, //A =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2||GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|//// =GPIO_Init(GPIOA,}void{GPIO_InitTypeDefbell_gpio; =////=}void{GPIO_InitTypeDefkey_gpio;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //}60-4PB9共用一個(gè)中斷函數(shù),PB10PB11PC2PB的四個(gè)引EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;=;//NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x02; NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x02; //子優(yōu)先級(jí)1NVIC_InitStructure.NVIC_IRQChannelCmdENABLE;////根據(jù)NVIC_InitStruct中指定的參數(shù)初始化外設(shè){ {} {} }測(cè)K1D1K2D2,K3同D3 年718實(shí)驗(yàn)名稱(chēng): 年718實(shí)驗(yàn)名稱(chēng):串口輸入與輸出實(shí)實(shí)驗(yàn)?zāi)繉?shí)驗(yàn)材CH340實(shí)驗(yàn)內(nèi)IOGPIOIOGPIO串口時(shí)鐘使能,GPIOGPIO實(shí)驗(yàn)過(guò)usart.husart.c中,設(shè)置幾個(gè)與串口基本配置直接相關(guān)的固件庫(kù)函數(shù)。在初始化函數(shù)中,使用RCC_APB2PeriphClockCmd GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; GPIO_Init(GPIOA,&GPIO_InitStructure);//PA9GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;GPIO_Init(GPIOA,&GPIO_InitStructure); //初始化PA10GPIO_Init(GPIOA,&GPIO_InitStructure); //初始化PA10NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn; USART_InitStructure.USART_BaudRate=bound;//一般設(shè)置為9600;USART_InitStructure.USART_WordLengthUSART_WordLength_8b;//8位數(shù)據(jù)格式USART_InitStructure.USART_StopBits=USART_StopBits_1;//一個(gè)停止位USART_InitStructure.USART_Parity=USART_Parity_No;//無(wú)奇偶校驗(yàn)位 STM32的發(fā)送與接收是通過(guò)數(shù)據(jù)寄存器USART_DR來(lái)實(shí)現(xiàn)的,這是一個(gè)雙當(dāng)收到收據(jù)的時(shí)候,也是存在該寄存器內(nèi)。我們要用voidUSART_SendData和USART_ReceiveData對(duì)USART_DR進(jìn)行發(fā)送和接收數(shù)據(jù)。可以用:USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET語(yǔ)句來(lái)判斷。void{u8if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)//接收中斷(接收到的數(shù)據(jù)必須是0x0d0x0a結(jié)尾){;//{{{elseUSART_RX_STA|=0x8000; }s;USART_RX_STA++;}}}}}④在main函數(shù)中,使用while循環(huán)使程序一直運(yùn)行,借助接收狀態(tài)標(biāo)記USART_RX_STA的值,判斷是否有輸入以及它的長(zhǎng)度值。如果有輸入,則依次將緩沖區(qū)的內(nèi)容寫(xiě)入DR并發(fā)送出去。否則就過(guò)一段時(shí)間提示程序正在運(yùn)行。{{printf("\r\n您發(fā)送的消息為:\r\n");{}{{}{}}}測(cè) 年718實(shí)驗(yàn)名稱(chēng) 年718實(shí)驗(yàn)名稱(chēng)時(shí)器中斷實(shí)實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)材LED12SWD仿真器一個(gè)(CH340串口線一根1MDK5實(shí)驗(yàn)內(nèi)片機(jī)每秒能計(jì)100個(gè)數(shù),2秒觸發(fā)一次中斷。TIM3實(shí)驗(yàn)過(guò)TIM3實(shí)驗(yàn)過(guò)led.cLED燈初始化函數(shù),以供我們正式實(shí)驗(yàn)LED0和LED1就可以,LED0用來(lái)表示程序正在運(yùn)行,LED1則用來(lái)表示定時(shí)器中斷的操作。void{ ,;////LED0-->PA.0//根據(jù)設(shè)定參數(shù)初始化GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);//PA.8//LED1-->PA.1端口配置,}推挽輸出,IO口速度為//PD.2首先要使用函數(shù)RCC_APB1PeriphClockCmd來(lái)使能TIM3,再用TIM_TimeBaseInit函數(shù)來(lái)設(shè)置五個(gè)主要參數(shù)。在這個(gè)函數(shù)中,參數(shù)的設(shè)置也是通過(guò)結(jié)構(gòu)體TIM_TimeBaseInitTypeDef來(lái)進(jìn)行的。arr和psc。arr和psc。值,從0計(jì)數(shù)到ARR的值,就觸發(fā)一次中斷,然后再重新開(kāi)始計(jì)數(shù)。RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//時(shí)鐘使能TIM_TimeBaseStructure.TIM_Periodarr;設(shè)置在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄TIM_TimeBaseStructure.TIM_Prescaler=pscTIMx10KhzTIM_TimeBaseStructure.TIM_ClockDivision=0;//設(shè)置時(shí)鐘分割:TDTS=Tck_timTIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//TIM向上計(jì)數(shù)模式數(shù)初始化TIMx的時(shí)間基數(shù)單位 TIM3,TIM_IT_Update NVIC_InitStructure.NVIC_IRQChannel = NVIC_InitStructure.NVIC_IRQChannelSubPriority=3; //從優(yōu)先級(jí)3級(jí)NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//IRQ通道被使能 //根據(jù)NVIC_InitStruct中指定的參數(shù)初始化外設(shè)NVIC寄存器TIM3TIM_Cmd(TIM3,ENABLE)函數(shù)來(lái)TIM3,這點(diǎn)一定不能忘記,很多人設(shè)置結(jié)束后忘記打開(kāi),導(dǎo)致時(shí)鐘中斷完BUGTIM3的初始⑤下面我們來(lái)編寫(xiě)TIM3中斷服務(wù)程序。該服務(wù)程序的思想很簡(jiǎn)單:使用void //TIM3{void //TIM3{{ //TIMx的中斷待處理位:TIM}}測(cè) 年718 年718:實(shí)驗(yàn)?zāi)繉?shí)驗(yàn)材2LED123SWD(CH3401.MDK5實(shí)驗(yàn)內(nèi)脈寬調(diào)制(PWM,PulseWidthModulation)TIM1ARRPSCTIM1_CH1PWM模式及通道方向,TIM1CH1實(shí)驗(yàn)過(guò)PA8TIM1_CH1通道將使用PA8PA8PA8PA8, //設(shè)置該引腳為復(fù)用輸出功能,輸出TIM1CH1的PWM脈沖波形GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;//TIM_CH1GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);TM31個(gè)。同樣的,在TIM_TimeBaseStructure.TIM_PeriodarrTIM_TimeBaseStructure.TIM_Prescaler=psc;//TIMx時(shí)鐘頻率除數(shù)的預(yù)分頻值TIM_TimeBaseStructure.TIM_ClockDivision0;設(shè)置時(shí)鐘分割:TDTSTIM_TimeBaseStructure.TIM_CounterModeTIM_CounterMode_Up;//TIM,//TIMx,//TIMxLEDCCR1的值小的時(shí)候,LED就暗,CCR1值大的時(shí)候,LEDTIM1_CCMR1TIM1_CH1函數(shù)是TIM_OC1Init()。=;//TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;//比較輸出使能TIM_OCInitStructure.TIM_Pulse=0;//設(shè)置待裝入捕獲比較寄存器的脈沖值TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;//輸出極性:TIM輸出比較極性高 //根據(jù)TIM_OCInitStruct中指定的參數(shù)初始化led0pwmval來(lái)控制占空比。這里我們要認(rèn)TIM_SetCompare1()庫(kù)函數(shù),它有兩個(gè)參數(shù),第一個(gè)參數(shù)是定時(shí)器,第二個(gè)參數(shù)是一個(gè)小于arr的整數(shù),它與arr的比值就是占空比。int{u8dir=1;{elseled0pwmval--;}}測(cè)}}測(cè) 年718實(shí)驗(yàn)名稱(chēng):板上串口DMA 年718實(shí)驗(yàn)名稱(chēng):板上串口DMA送實(shí)實(shí)驗(yàn)?zāi)?DMA2DMADMA實(shí)驗(yàn)材1.MDK52實(shí)驗(yàn)內(nèi)CPU實(shí)驗(yàn)過(guò)DMADMA的時(shí)候,需要用到三個(gè)參數(shù):DMADMA_InitStructureDMA地址;DMA_DIR設(shè)置數(shù)據(jù)傳輸方向,決定是從外設(shè)讀取數(shù)據(jù)到內(nèi)存還送從內(nèi)存讀取數(shù)據(jù)發(fā)送到外設(shè),也就是外設(shè)是源地還是目的地;DMA_Priority是中斷的優(yōu), DMA_InitStructure.DMA_PeripheralBaseAddr=cpar;//DMA外設(shè)ADC基地址DMA_InitStructure.DMA_MemoryBaseAddr=cmar; //DMA內(nèi)存基地址DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralDST;//數(shù)據(jù)傳輸方向從內(nèi)存讀取發(fā)送到DMA_InitStructure.DMA_BufferSize=cndtr;//DMA通道的DMA緩存的大小DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;//外設(shè)地址寄存器不變DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Enable; DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_Byte; 位DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_Byte;//數(shù)據(jù)寬度為8位DMA_InitStructure.DMA_Mode=DMA_Mode_Normal; DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_Byte;//數(shù)據(jù)寬度為8位DMA_InitStructure.DMA_Mode=DMA_Mode_Normal; DMA_InitStructure.DMA_Priority=DMA_Priority_Medium;//DMA通道x擁有中優(yōu)先級(jí)DMA_InitStructure.DMA_M2M=DMA_M2M_Disable; //DMA通道x沒(méi)有設(shè)置為內(nèi)存到內(nèi)存DMA_Init(DMA_CHx,&DMA_InitStructure); //DMA_InitStruct中指定的參數(shù)初始化DMA的通道USART1_Tx_DMA_Channel所標(biāo)識(shí)的寄存器, //USART1TXDMA1constu8TEXT_TO_SEND[]={"DMA串口實(shí)驗(yàn){}{{{}}}}測(cè)串口調(diào)試助手中循環(huán)顯示“北京科技大學(xué)DMA 年718實(shí)驗(yàn) 年718實(shí)驗(yàn)名稱(chēng):ADC數(shù)轉(zhuǎn)換實(shí)實(shí)驗(yàn)?zāi)繉?shí)驗(yàn)材CH340單獨(dú)的杜邦線一根(接電壓信號(hào)用實(shí)驗(yàn)內(nèi)STM32ADC1218個(gè)通道,可測(cè)量162A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷STM32ADC2STM32ADC2實(shí)驗(yàn)過(guò)模擬輸入。使能GPIOA和ADC時(shí)鐘用RCC_APB2PeriphClockCmd函數(shù),設(shè)置PA1的輸入方式,使用GPIO_Init函數(shù)即可。RCC_CFGRADC1ADC1的時(shí)鐘(ADCCLK)不要超過(guò)14Mhz,否則容易失靈。RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1,ENABLE不能超過(guò)14M//PA1作為模擬通道輸入引腳GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;GPIO_Init(GPIOA,ADC672M/6=12,ADC②下面開(kāi)始用結(jié)構(gòu)體ADC_InitStructure進(jìn)行ADC1的模式配置,設(shè)置單次轉(zhuǎn)換序列中通道數(shù)為1。ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//ADC工作模式:ADC1和ADC2ADC_InitStructure.ADC_ScanConvMode=DISABLE;//模數(shù)轉(zhuǎn)換工作在單通道模式ADC_InitStructure.ADC_ContinuousConvMode=DISABLE; //模數(shù)轉(zhuǎn)換工作在單次轉(zhuǎn)換模ADC_InitStructure.ADC_ExternalTrigConvADC_ExternalTrigConv_None;//轉(zhuǎn)換由軟件而ADC_InitStructure.ADC_DataAlignADC_DataAlign_Right;//ADCADC_Init(ADC1&ADC_InitStructureADC_InitStructADC_Cmd(ADC1,ENABLE);//使能指定的ADC1;//等待復(fù)位校準(zhǔn)結(jié)束ADADCADC_Cmd(ADC1,ENABLE);//使能指定的ADC1;//等待復(fù)位校準(zhǔn)結(jié)束ADADC轉(zhuǎn)換結(jié)束后,讀取ADC轉(zhuǎn)換結(jié)果值。用ADC_SoftwareStartConvCmd()函數(shù)來(lái)從軟件開(kāi)啟ADC,之后可以用u16Get_Adc(u8{//設(shè)置指定ADC的規(guī)則組通道,一個(gè)序列,采樣時(shí)間ADC_RegularChannelConfig(ADC1ch,1ADC_SampleTime_239Cycles5);//ADC1,ADC,returnADC_GetConversionValue(ADC1);//返回最近一次ADC1}u16Get_Adc_Average(u8ch,u8{u8t;{}return}里可以直接用PRINTF在串口助手打印,和普通的C語(yǔ)言一樣。int{u16adcx;DMA,{printf("讀到的ADC值是%d\r\n",adcx);{printf("讀到的ADC值是%d\r\n",adcx);}}測(cè)PA13.3ADC40943.298389 年718實(shí)驗(yàn)名稱(chēng)口組 年718實(shí)驗(yàn)名稱(chēng)口組輸出(掃描數(shù)碼管)實(shí)實(shí)驗(yàn)?zāi)繉?shí)驗(yàn)材SWD仿真器一個(gè)(CH340串口線一根1MDK5實(shí)驗(yàn)內(nèi)小數(shù)點(diǎn)有8個(gè)管,由此需要8個(gè)I/O口來(lái)決定字形。四位數(shù)碼管,會(huì)有四個(gè)位選實(shí)驗(yàn)過(guò)實(shí)驗(yàn)過(guò)關(guān)掉SWD來(lái)控制字形,PB12PB15來(lái)控制位選信號(hào),所以他們都要作為輸出口來(lái)使用,/*段碼接口I/O配置||=GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10||GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|=////led_sd_gpio.GPIO_Speed=/*位選接口I/O配置=GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|1001staticuint16_tsu16_DpyNum[]={0xC000,0xF900,0xA400,0xB000,0x9200,0x8200,0xF800,0x8000,/*0xF00040x1000-1位(右0x2000-20x4000-30x8000-4*****staticuint16_tsu16_DpyBit[]={0xF000,0x1000,0x2000,0x4000,{GPIO_Write(GPIOB,su16_DpyBit[u8_Bit]);}{for(i=0;i<10;{}for(i=0;i<20;{}for(i=0;i<250;{for(j=0;j<4;{}}}測(cè)}}}測(cè) 年718實(shí)驗(yàn)名稱(chēng):時(shí)鐘 年718實(shí)驗(yàn)名稱(chēng):時(shí)鐘與延時(shí)的應(yīng)用(蜂鳴器)實(shí)實(shí)驗(yàn)?zāi)繉?shí)驗(yàn)材SWD仿真器一個(gè)(CH340串口線一根1MDK5實(shí)驗(yàn)內(nèi)實(shí)驗(yàn)過(guò)I/O口就行,時(shí)鐘使能后設(shè)置推挽輸出。RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);實(shí)驗(yàn)過(guò)I/O口就行,時(shí)鐘使能后設(shè)置推挽輸出。RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);/*I/O =////=// #define , ////#define GPIOB->ODR^=while{{}{}}測(cè)測(cè) 年718實(shí)驗(yàn)名稱(chēng):秒 年718實(shí)驗(yàn)名稱(chēng):秒表制作實(shí)實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)材料SWD仿真器一個(gè)(CH340串口線一根1MDK5實(shí)驗(yàn)內(nèi)容.初始化使用到的實(shí)驗(yàn)過(guò)程1、蜂鳴/*蜂實(shí)驗(yàn)過(guò)程1、蜂鳴/*蜂鳴器I/O配置*/ ////=#define //#define , // {}void{GPIO_InitTypeDefled_gpio;使能端口A/*LEDI/O配置*/=GPIO_Pin_0|GPIO_Pin_1=//GPIO_Init(GPIOA,&led_gpio);/*LED*/}LED(led1#defineLED1_ON#defineLED2_OFF#defineLED2_ONGPIOA->BSRR=GPIO_Pin_0 =GPIO_Pin_0GPIOA->BSRR=GPIO_Pin_1 =GPIO_Pin_1PA0輸出高電平-LED1//}LED(led1#defineLED1_ON#defineLED2_OFF#defineLED2_ONGPIOA->BSRR=GPIO_Pin_0 =GPIO_Pin_0GPIOA->BSRR=GPIO_Pin_1 =GPIO_Pin_1PA0輸出高電平-LED1//PA0輸出低電 LED1LED2LED2||RCC_APB2Periph_AFIO,/*段碼接口I/O配置=GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10||GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|=//led_sd_gpio.GPIO_Speed=GPIO_Speed_2MHz;GPIO_Init(GPIOA,&led_sd_gpio);/*位選接口I/O配置=GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Init(GPIOB,(由于需要使用led1和led2所以低八位需要輸出高電平關(guān)閉led,故為為staticuint16_tsu16_DpyNum[]={0xC0FF,0xF9FF,0xA4FF,0xB0FF,0x92FF,0x82FF,0xF8FF,0x80FF,/*位選編碼0xF0004*****0x10000x20000x40000x8000234staticuint16_tsu16_DpyBit[]={0xF000,0x1000,0x2000,0x4000,④設(shè)置輸出函數(shù),用voidLED_SD_Dpy(uint8_tu8_Bit,uint8_t{GPIO_Write(GPIOB,su16_DpyBit[u8_Bit]);voidLED_SD_Dpy(uint8_tu8_Bit,uint8_t{GPIO_Write(GPIOB,su16_DpyBit[u8_Bit]);}void{EXTI_InitTypeDefEXTI_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;EXTI_InitStructure

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論