<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > STM32關(guān)于GPIO的問(wèn)題

STM32關(guān)于GPIO的問(wèn)題

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò ) 收藏
1、關(guān)于GPIO問(wèn):STM32的IO口初始化為輸入浮空,那管腳是高電平還是低電平呢?答:既不是高電平也不是低電平,懸空的意思是沒(méi)有使用的狀態(tài)。2、有關(guān)stm32f103 端口復用的問(wèn)題?問(wèn):在學(xué)習GPIO時(shí),遇到到端口復用問(wèn)題一直不能明白,我舉個(gè)例子:PB6 PB7默認情況下是做普通IO使用的,當我想用I2C1是,我開(kāi)啟RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);當我要使用I2C1的重定義時(shí),我要打開(kāi),RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);這樣理解對不對?有的人說(shuō)當用的芯片

自帶的外設時(shí)都要打開(kāi) AFIO 時(shí)鐘,但我用到usart1時(shí)沒(méi)有打開(kāi)AFIO 時(shí)鐘,照樣能用usart,這是為什么?總之問(wèn)這個(gè)問(wèn)題的根本原因是AFIO的時(shí)鐘要在什么情況下打開(kāi)?答:1、串口必須要打開(kāi)AFIO時(shí)鐘,不然不能工作??赡苣愕某跏蓟瘮?、RCC配置中有開(kāi)啟的地方。 2、AFIO在你需要使用某一模塊時(shí),比如你想使用GPIOC,這個(gè)時(shí)候要打開(kāi)GPIOC模塊的時(shí)鐘。 3、關(guān)閉I2C而不是關(guān)閉I2C模塊的總線(xiàn),如果你想使用普通模式,就要把I2C模塊關(guān)閉以后,重新配置GPIOB模塊,就可以正常使用了。3、AFIO重映射的操作步驟是什么?答:使能被重新映射到的I/O端口時(shí)鐘使能被重新映射的外設時(shí)鐘使能AFIO功能的時(shí)鐘 (勿忘!) 進(jìn)行重映射4、配置IO口的頻率問(wèn)題問(wèn):配置IO口的頻率時(shí),為什么只給一個(gè)IO口配置?答:GPIO_InitStructure.GPIO_Speed 這個(gè)結構體的成員始終為GPIO_Speed_50MHz 配置其他io口時(shí)也默認用50MHz 。5、請問(wèn)怎樣開(kāi)始STM32W108CBU64芯片的PB5引腳外設輸入中斷?問(wèn):有沒(méi)有這么一個(gè)例程,有開(kāi)啟外設中斷和中斷函數的?最佳答案:看了下datasheet,PB5復用的功能為PB5, ADC0, TIM2CLK, TIM1MSK,相關(guān)的中斷應該有,就看你配置為什么外設了。6、STM32F101 Tamper Pin 使用問(wèn)題問(wèn):請教各位大蝦:STM32F101 BKP當中的Tamper Pin該如何初始化???答:當TPAL=0時(shí):如果在啟動(dòng)侵入檢測TAMPER引腳前(通過(guò)設置TPE位)該引腳已經(jīng)為高電平,一旦啟動(dòng)侵入檢測功能,則會(huì )產(chǎn)生一個(gè)額外的侵入事件(盡管在TPE位置’1’后并沒(méi)有出現上升沿)。 ● 當TPAL=1時(shí):如果在啟動(dòng)侵入檢測引腳TAMPER前(通過(guò)設置TPE位)該引腳已經(jīng)為低電平,一旦啟動(dòng)侵入檢測功能,則會(huì )產(chǎn)生一個(gè)額外的侵入事件(盡管在TPE位置’1’后并沒(méi)有出現下降沿)。 設置BKP_CSR寄存器的TPIE位為’1’,當檢測到侵入事件時(shí)就會(huì )產(chǎn)生一個(gè)中斷。 詳見(jiàn):BKP_CSR7、有關(guān)stm32f103 端口復用的問(wèn)題?問(wèn):在學(xué)習GPIO時(shí),遇到到端口復用問(wèn)題一直不能明白,我舉個(gè)例子:PB6 PB7默認情況下是做普通IO使用的,當我想用I2C1是,我開(kāi)啟RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);當我要使用I2C1的重定義時(shí),我要打開(kāi),RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);這樣理解對不對?有的人說(shuō)當用的芯片自帶的外設時(shí)都要打開(kāi) AFIO 時(shí)鐘,但我用到usart1時(shí)沒(méi)有打開(kāi)AFIO 時(shí)鐘,照樣能用usart,這是為什么?總之問(wèn)這個(gè)問(wèn)題的根本原因是AFIO的時(shí)鐘要在什么情況下打開(kāi)?答:1、串口必須要打開(kāi)AFIO時(shí)鐘,不然不能工作??赡苣愕某跏蓟瘮?、RCC配置中有開(kāi)啟的地方。 2、AFIO在你需要使用某一模塊時(shí),比如你想使用GPIOC,這個(gè)時(shí)候要打開(kāi)GPIOC模塊的時(shí)鐘。 3、關(guān)閉I2C而不是關(guān)閉I2C模塊的總線(xiàn),如果你想使用普通模式,就要把I2C模塊關(guān)閉以后,重新配置GPIOB模塊,就可以正常使用了。7、STM32里面,設置GPIO_Mode_IPU 有什么用問(wèn):中斷的配置里面有:GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8); GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);GPIO口設置里面有: GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU; GPIO_Init(GPIOB, &GPIO_InitStructure);我想問(wèn)的是,這兩組設置必須同時(shí)存在嗎?答:GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8); GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);STM32中這兩句話(huà)的意思是PB口的8、9管腳作為外部中斷的觸發(fā)信號,所以Pin_8和Pin_9就要設置成輸入的模式,而GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU;中IPU是指IO口的工作模式是帶上拉輸入,這個(gè)和具體的電路

本文引用地址:http://dyxdggzs.com/article/201611/322604.htm

有關(guān),總之如果選擇某個(gè)IO口作為外部中斷的觸發(fā)信號,就必須配置這個(gè)IO口為輸入模式,不然無(wú)法觸發(fā)中斷8、stm32中GPIO口的最大輸出速度如何理解?問(wèn):stm32中GPIO口的最大輸出速度如何理解?答:1、是這樣的,2M、10M和50M是指GPIO口的采樣頻率。不知這樣理解對不對,我就是這樣做的。 2、我通過(guò)PB6采集80KBPS/S的方波,通過(guò)中斷計采集,完全勝任。9、STM32 GPIO 弱上拉能做輸入輸出嗎問(wèn):STM32 GPIO 弱上拉能做輸入輸出嗎?答:32只有上拉輸入,用在外部連接的是下路輸出的,這樣才能正確讀取。輸出的話(huà)一般用推挽和開(kāi)漏,推挽用于一般的驅動(dòng),開(kāi)漏一般加上拉電阻三極管集電極那樣驅動(dòng)較大電流。10、STM32語(yǔ)句:GPIO->ODR^=0X02 是怎么執行的?實(shí)現什么功能?問(wèn):是GPIO端口的數據存在ODR寄存器,該數據與0x02異或再存在ODR中嗎?答:ODR是stm32的IO端口輸出數據寄存器,該寄存器31-16位始終讀為0,15-0位輸出數據。GPIO->ODR^=0X02 是輸出數據與0x02異或,即輸出數據的第二位如果與1相同,該位置0,反之出1,因此實(shí)現取反,輸出數據保存在ODR,每執行一次輸出數據的第二位取反一次。10、GPIO配置速度問(wèn):stm32中的GPIO如果設置成了輸入模式,還需要配置GPIO_Speed么?答:輸入模式可以不用配置速度,但是輸出模式必須確定最大輸出頻率。11、stm32 GPIO輸入電平檢測問(wèn):GPIO兩個(gè)引腳,模式都初始化為輸入弱上拉,給其中一個(gè)引腳接4.7V的電壓,IDR對應的值為1;給另一個(gè)引腳接5.13V的電壓,IDR對應的值卻為0;答:檢查一下是否使能了相應GPIO的時(shí)鐘,是否有這樣一句RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx,ENABLE);有它就使能了,否則讀出的值不可預測。12、關(guān)于STM32中GPIO寄存器IDR和ODR數據問(wèn):STM32中GPIO寄存器IDR和ODR數據是不是同步的?為什么我用GPIO_SetBits函數設置管腳的時(shí)候,IDR和ODR同時(shí)改變,怎么使得只改變ODR的數據,而不改變IDR的數據?謝謝!答:IDR寄存器的數據時(shí)實(shí)時(shí)反映IO口的狀態(tài),當然設置ODR,IO的狀態(tài)也跟著(zhù)改變,除非強制人為地設置。比如,ODR設置為1,而強制將對應的IO口接地,這時(shí)IDR就和ODR不一致;或者將ODR設置0,而強制降對應IO口接VCC,這時(shí)也不一致。13、用STM32,有六個(gè)GPIO口(不在同一組)要相同信號輸出,請問(wèn)怎么設置?問(wèn):例如GPIOE的pin10重映射到TIM1,設置好TIM1的PWM信號輸出;其他的IO口如GPIOA的pin5、GPIOA的pin6、GPIOB的pin5、GPIOB的pin6、GPIOC的pin5也要輸出與GPIOE的pin10相同的信號,請問(wèn)大俠怎么設置?答:用定時(shí)器中斷吧,把PWM的脈寬配置成定時(shí)中斷,把GPIO引腳都配置好,相應時(shí)鐘都使能,然后到定時(shí)器中斷函數中做相同的處理。14、關(guān)于GPIO_WriteBit與GPIO_SetBits問(wèn):GPIO_WriteBit與GPIO_SetBits有什么區別答:可以用man命令查看區別man ioctl :NAME ioctl - control deviceman write :NAME write - write to a file descriptor15、關(guān)于GPIO_InitTypeDef GPIO_InitStructure問(wèn):這句話(huà)什么意思?答:聲明一個(gè)結構體,名字是GPIO_InitStructure,結構體原型由GPIO_InitTypeDef 確定,stm32里面初始化GPIO用的吧。。設置完了GPIO_InitStructure里面的內容后在GPIO_Init (GPIO_TypeDef 。*GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)里面調用,比如初始化pa口,就是GPIO_Init (GPIOA, &GPIO_InitStructure),括號里后面那個(gè)就是你問(wèn)題里面聲明的那個(gè)結構體。16、關(guān)于 STM32的IO口能不能像51的IO口那樣直接控制Px口輸出問(wèn):大家好,STM32的IO口能不能像51的IO口那樣直接控制Px口輸出?比如我要用51控制器段數碼管,只要給Px口送十六進(jìn)制數值就可以了?請問(wèn)STM32可以嗎?答:可以的,舉2個(gè)例子:GPIO0->BRR = 0x55;GPIO1->BSRR = 0x55;這其中的GPIOx表示IO號的號碼,BRR/BSRR表示相就IO口的控制寄存器,就按這個(gè)格式操作就行了。17、關(guān)于stm32芯片IO端口配置問(wèn):stm32芯片 IO端口配置為浮空輸入時(shí),能不能讀取端口上的電平狀態(tài)。答:STM32的輸入狀態(tài)寄存器GPIOx_IDR和輸出狀態(tài)寄存器和GPIOx_ODR的讀取是不受端口配置影響的。18、stm32 JTAG和普通IO復用問(wèn)題問(wèn):stm32 JTAG和普通IO復用,當軟件設置為普通IO時(shí),還能用JTAG下載軟件嗎。答:能。因為在下載的時(shí)候,通過(guò)RESET時(shí)序進(jìn)入了下載模式了。但是注意硬件的接法不要強制拉高拉低,也不要讓其芯片的輸出腳接過(guò)來(lái)。這樣就會(huì )影響到j(luò )tag了。



關(guān)鍵詞: STM32GPI

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>