找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3769|回復(fù): 9
收起左側(cè)

關(guān)于紅外的,基于stm32f103,感覺(jué)紅外的反應(yīng)有點(diǎn)遲鈍,怎么解決呢

[復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 2 黑幣 回復(fù)本帖可獲得 2 黑幣獎(jiǎng)勵(lì)! 每人限 3 次
ID:229016 發(fā)表于 2018-5-31 19:26 | 顯示全部樓層 |閱讀模式
void LED_Init(void)
{

GPIO_InitTypeDef  GPIO_InitStructure;
         
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);        
        
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);                                
GPIO_SetBits(GPIOA,GPIO_Pin_8);                                       

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;                    
GPIO_Init(GPIOD, &GPIO_InitStructure);                                 
        GPIO_ResetBits(GPIOA,GPIO_Pin_4);                                       
}

#include "led.h"
#include "delay.h"
#include "sys.h"
int main(void)
{        
        delay_init();            
        LED_Init();        
                          while(1)
        {
                if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4)==1)//若連接紅外的管腳輸出高電平,則gpioA_8的LED燈亮
                        GPIO_ResetBits(GPIOA,GPIO_Pin_8);/        
                else
                                GPIO_SetBits(GPIOA,GPIO_Pin_8)//否則,燈熄滅
        }
}
當(dāng)紅外探頭對(duì)準(zhǔn)人時(shí),用來(lái)檢測(cè)高電平的燈GPIOA_Pin_8一直在閃,而且對(duì)著人的時(shí),燈不會(huì)立馬亮

回復(fù)

使用道具 舉報(bào)

ID:342501 發(fā)表于 2018-5-31 21:31 | 顯示全部樓層
還沒(méi)學(xué)C語(yǔ)言編程這樣的。。。看起來(lái)就很厲害了
回復(fù)

使用道具 舉報(bào)

ID:229016 發(fā)表于 2018-5-31 21:52 | 顯示全部樓層
對(duì)準(zhǔn)人的時(shí)候用mdk自帶的邏輯分析儀測(cè)GPIOA_Pin_8的電平總為低電平,燈一閃一閃的,求大神解答
回復(fù)

使用道具 舉報(bào)

ID:330198 發(fā)表于 2018-6-1 09:17 | 顯示全部樓層
360截圖20180601091440358.jpg
你接紅外的引腳到底是PA還是PD啊,而且你引腳要設(shè)置成上拉輸入,多注意細(xì)節(jié)。

評(píng)分

參與人數(shù) 1黑幣 +4 收起 理由
wenzedong + 4 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:229016 發(fā)表于 2018-6-1 16:53 | 顯示全部樓層
zhanghyg 發(fā)表于 2018-6-1 09:17
你接紅外的引腳到底是PA還是PD啊,而且你引腳要設(shè)置成上拉輸入,多注意細(xì)節(jié)。

哦,我后面才發(fā)現(xiàn),改成了上拉輸入,管腳也對(duì)應(yīng),還是閃
回復(fù)

使用道具 舉報(bào)

ID:342996 發(fā)表于 2018-6-1 17:16 | 顯示全部樓層
建議你先查硬件:
1、用按鈕實(shí)現(xiàn)高低電平切換,代替紅外檢測(cè)裝置,接 輸入引腳,看輸出變化;
2、萬(wàn)用表量一下 紅外檢測(cè)裝置 的信號(hào)電平
回復(fù)

使用道具 舉報(bào)

ID:264970 發(fā)表于 2018-6-1 18:29 | 顯示全部樓層
這是硬件問(wèn)題吧
回復(fù)

使用道具 舉報(bào)

ID:319344 發(fā)表于 2018-6-1 20:54 | 顯示全部樓層
探路 發(fā)表于 2018-5-31 21:52
對(duì)準(zhǔn)人的時(shí)候用mdk自帶的邏輯分析儀測(cè)GPIOA_Pin_8的電平總為低電平,燈一閃一閃的,求大神解答

檢測(cè)GPIOA_Pin_8是用的MDK自帶的邏輯分析儀,但那并不能代表實(shí)際情況,而實(shí)際情況是該GPIO口接的燈一閃一閃的,攜帶信息的紅外線是高低電平交錯(cuò)的,我覺(jué)得這能解釋為什么燈會(huì)一閃一閃的。你的程序是GPIOA_Pin_8為低電平燈亮,是吧?  如果我的想法正確,將else 執(zhí)行的語(yǔ)句去掉應(yīng)該就不會(huì)一閃一閃的了
回復(fù)

使用道具 舉報(bào)

ID:229016 發(fā)表于 2018-6-1 20:59 | 顯示全部樓層
yunfei_han@163. 發(fā)表于 2018-6-1 17:16
建議你先查硬件:
1、用按鈕實(shí)現(xiàn)高低電平切換,代替紅外檢測(cè)裝置,接 輸入引腳,看輸出變化;
2、萬(wàn)用表 ...

感覺(jué)這個(gè)模塊太坑,代碼都每變過(guò),時(shí)靈時(shí)不靈
回復(fù)

使用道具 舉報(bào)

ID:185112 發(fā)表于 2018-8-1 10:07 | 顯示全部樓層
優(yōu)化軟件,掃地機(jī)應(yīng)用或用速度更快的能跑200M的有AT32F403
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表