日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

NEC協(xié)議

發(fā)送端發(fā)送1 :560us脈沖 + 1680us低電平

發(fā)送端發(fā)送0 :560us脈沖 + 560us低電平

連發(fā)碼 : 9ms 低電平+2.5m 高電平+0.56ms 低電平 +97.94ms 高電平

引導(dǎo)碼 :9ms 的低電平 + 4.5ms 的高電平


接收端接收1 :560us低電平 + 1680us高電平

接收端接收0 :560us低電平 + 560us高電平

接收端連發(fā)碼 : 9ms 高電平+2.5m 低電平+0.56ms 高電平 +97.94ms 低電平

接收端引導(dǎo)碼 :9ms 的高電平 + 4.5ms 的低電平


接收端的數(shù)據(jù)引腳接上拉電平,也可以讓此腳連接的芯片引腳配置為上拉輸出模擬上拉電阻的作用。

因?yàn)榇松侠?a href="http://weightgang.cn/zhuanti/8qzvL8" style="color:#4595e6;" target="_blank">電阻的作用使接收端空閑時(shí)是高電平,從而電平狀態(tài)與發(fā)送的相反。


對(duì)于接收端而言,數(shù)據(jù)1和數(shù)據(jù)0都是低電平變高電平,是個(gè)上升沿,于是可以使用上升沿觸發(fā)中斷。用高電平時(shí)間的不同來(lái)區(qū)分二者。


發(fā)送數(shù)據(jù)

發(fā)送一次共32位,每一位都可以觸發(fā)升沿觸發(fā)中斷


hongwai.c


#include "hongwai.h"

#include "systick.h"

 

u32 Hong_Data;  //紅外線接受的數(shù)據(jù)

u8 Hong_Flag; //接受是否完成

 

/*****************************************************************

函數(shù)名:Hongwai_Init() 

函數(shù)功能:紅外初始化

輸入:無(wú)

輸出:無(wú)

****************************************************************/

void Hongwai_Init()

{

    GPIO_InitTypeDef GPIO_InitStructure;

    EXTI_InitTypeDef EXTI_InitStructure;

    NVIC_InitTypeDef NVIC_InitStructure;

    

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG|RCC_APB2Periph_AFIO,ENABLE);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉輸出,端口模擬它沒(méi)信號(hào)時(shí)高電平

    GPIO_InitStructure.GPIO_Speed  = GPIO_Speed_50MHz;

    GPIO_Init(GPIOG,&GPIO_InitStructure);

    

    GPIO_EXTILineConfig(GPIO_PortSourceGPIOG, GPIO_PinSource15); //選擇GPIO管腳用作外部中斷線路,重映射

    EXTI_ClearITPendingBit(EXTI_Line15);

    

    EXTI_InitStructure.EXTI_Line = EXTI_Line15;

    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //下降沿觸發(fā),因?yàn)闆](méi)信號(hào)是高電平信號(hào)來(lái)低電平造成下降沿,正好以此為條件表示信號(hào)來(lái)了

    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;  //觸發(fā)模式是中斷

    EXTI_InitStructure.EXTI_LineCmd = ENABLE;

    EXTI_Init(&EXTI_InitStructure);

    

    NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;

    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;

    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;

    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

    NVIC_Init(&NVIC_InitStructure);

}

 

/*****************************************************************

函數(shù)名:Hig_Cou() 

函數(shù)功能:高電平時(shí)間判別函數(shù)

輸入:無(wú)

輸出:8位的時(shí)間判別參數(shù)

****************************************************************/

 

u8 Hig_Cou()

{

    u8 t=0;

    if(GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_15)) //獲取GPIOG_Pin_15的輸入狀態(tài)

    {

        t++;

        delay_us(20);

        if(t>=250) return t; //t每自加一次就延時(shí)20us

    }

    return t;

}

 

/*****************************************************************

函數(shù)名:EXTI15_10_IRQHandler()

函數(shù)功能:中斷服務(wù)函數(shù),進(jìn)行解碼并存儲(chǔ)

輸入:無(wú)

輸出:無(wú)

****************************************************************/

 

void EXTI15_10_IRQHandler()

{

    u8 tim;  //高電平時(shí)間參數(shù)變量

    u8 ok;   //引導(dǎo)碼有效變量

    u8 data; //接受高低電平

    u8 num;  //接受次數(shù)

    

    while(1)

    {

        if(GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_15)==1) //PG15輸入是高電平

        {

            tim = Hig_Cou();  //獲取高電平時(shí)間

            if(tim>=250) break;//超時(shí)錯(cuò)誤

            if(tim<250&&tim>200) ok = 1;  //引導(dǎo)碼有效

            if(tim<90&&tim>70) data = 1;  //接受是高電平

            else if(tim<40&&tim>15) data = 0;   //接收是低電平

            

            if(ok)  //引導(dǎo)碼有效

            {

                Hong_Data <<=1;  //移位

                Hong_Data+=data; //把數(shù)據(jù)存入Hong_Data

            }

            

            if(num>=32)  //32位4字節(jié)都接受完

            {

                Hong_Flag = 1;  //傳輸完

                break;

            }

            num++;

        }

        EXTI_ClearITPendingBit(EXTI_Line15); //消除EXTI_Line15的中斷標(biāo)志位

    }

}

 

hongwai.h


#ifndef _hongwai_H

#define _hongwai_H

 

#include "system.h"

 

extern u32 Hong_Data;//全局變量

extern u8 Hong_Flag;

void Hongwai_Init(void);

u8 Hig_Cou(void);

 

    

#endif

 

main.c


#include "system.h"

#include "SysTick.h"

#include "led.h"

#include "usart.h"

#include "hongwai.h"

 

int main()

{

    u8 i=0;

    

    SysTick_Init(72);

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //中斷優(yōu)先級(jí)分組 分2組

    LED_Init();

    USART1_Init(9600);

    Hongwai_Init();

    while(1)

    {   

        if(Hong_Flag==1)//接受完成

        {

            Hong_Flag=0; //清空標(biāo)志位,供下次使用

            printf("發(fā)紅外接收碼是:%.8Xrn",Hong_Data);

            Hong_Data=0;//清空數(shù)據(jù)供下次使用

        }

        

        i++;

        if(i%20==0)

        {

            led1=!led1;

        }

        

        delay_ms(10);

            

    }

}

關(guān)鍵字:stm32  紅外遙控 引用地址:stm32---紅外遙控

上一篇:stm32---RS485半雙工通信
下一篇:stm32---DS18b20

推薦閱讀

本書介紹并分析了目前常用的電工電路,包括照明電路、低壓供電線路、電風(fēng)扇電路、電動(dòng)設(shè)備控制電路、靜態(tài)繼電器控制電路、變頻器和可編程控制器應(yīng)用電路、水泵控制電路、漏電保護(hù)開(kāi)關(guān)線路、電子時(shí)間繼電器電路、彩燈控制電路、起重設(shè)備控制電路、儀表與判別電路以及其他電路。本書內(nèi)容由淺入深,通俗易懂,語(yǔ)言精練,圖文并茂,內(nèi)容豐富,應(yīng)用廣泛,解說(shuō)明...
Yann LeCun、Geoffrey Hinton、Yoshua BengioYoshua Bengio(58歲)是蒙特利爾大學(xué)教授,也是魁北克人工智能研究所的科學(xué)主任;Geoffrey Hinton(71歲)是谷歌副總裁和Engineering Fellow,Vector人工智能研究院首席科學(xué)顧問(wèn),多倫多大學(xué)名譽(yù)教授;Yann LeCun(55歲)是紐約大學(xué)教授、Facebook副總裁兼首席AI科學(xué)家。2019年3月27日,ACM宣布,深度學(xué)習(xí)...
(文章來(lái)源:新戰(zhàn)略機(jī)器人網(wǎng)) ?臂展,是指并聯(lián)機(jī)器人末端在水平面上的最大工作直徑,機(jī)器人P點(diǎn)在水平面可達(dá)到的最遠(yuǎn)點(diǎn)到機(jī)器人基座中心點(diǎn)的距離則為最大工作半徑,即臂展的一半。最大拾取高度即最大垂直運(yùn)動(dòng)范圍,是指機(jī)器人P點(diǎn)能夠到達(dá)的最低點(diǎn)(通常低于機(jī)器人的動(dòng)平臺(tái))與最高點(diǎn)之間的范圍。 但在實(shí)際應(yīng)用中,不同的機(jī)器人、不同的應(yīng)用場(chǎng)景都影響...
2021年3月26-27日,第四屆中國(guó)人工智能與機(jī)器人開(kāi)發(fā)者大會(huì)(CAIRDC)暨·長(zhǎng)三角G60科創(chuàng)走廊洞涇人工智能全產(chǎn)業(yè)鏈大會(huì),于上海富悅大酒店如期召開(kāi)。藉此大會(huì),大族機(jī)器人舉辦“智進(jìn)未來(lái)”主題新品發(fā)布會(huì),重磅推出全新智能協(xié)作機(jī)器人——MAiRA,引領(lǐng)協(xié)作機(jī)器人步入智能時(shí)代。CAIRDC是中國(guó)人工智能和機(jī)器人領(lǐng)域開(kāi)發(fā)者的年度盛會(huì),匯聚了一眾在人工智能、機(jī)...

史海拾趣

小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved