久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
基于STM32F103平臺(tái)PT2262解碼程序-親測(cè)可用
[打印本頁(yè)]
作者:
蘇州單片機(jī)項(xiàng)目
時(shí)間:
2017-11-15 16:50
標(biāo)題:
基于STM32F103平臺(tái)PT2262解碼程序-親測(cè)可用
附件是基于STM32F103平臺(tái)PT2262解碼程序,采用定時(shí)器精確定時(shí),不使用中斷,親測(cè)有效,并且集成了PT2262組幀程序,調(diào)用即可發(fā)送。使用邏輯分析儀對(duì)比波形,發(fā)送波形與標(biāo)準(zhǔn)波形基本一致!
0.png
(6.98 KB, 下載次數(shù): 97)
下載附件
2017-11-15 20:30 上傳
單片機(jī)源程序如下:
#include "includes.h"
/*******************************************************************************
* 結(jié)構(gòu)體
*******************************************************************************/
typedef struct
{
unsigned char high1;
unsigned char low1;
unsigned char high2;
unsigned char low2;
}PT2262_LEVEL; /*PT2262電平脈沖*/
/*******************************************************************************
* 局部變量
*******************************************************************************/
PT2262_SIGN pt2262_sign[12];
/*******************************************************************************
* 程序
*******************************************************************************/
bool Pt2262DecodeHandle(void)
{
int i=0,count=0;
PT2262_LEVEL pt2262_level[12]; /*pt2262一組12個(gè)信號(hào),1個(gè)信號(hào)2高2低*/
unsigned long sign_buffer[48]={0}; /*信號(hào)緩存4*12*/
if( ReadPt2262PinState()==0 ) /*低電平*/
{
while( !ReadPt2262PinState() )
{
/*計(jì)算低電平持續(xù)時(shí)間*/
Delayus(1);/*實(shí)際延遲3.5us左右*/
if( (count++)>5800 )
{
return false;
}
}
if( count>1715&&count<4286 )/*找到同步碼*/
{
while(1)
{
if( ReadPt2262PinState() )/*高電平*/
{
count=0;
while( ReadPt2262PinState() )
{
/*計(jì)算高電平持續(xù)時(shí)間*/
Delayus(1);
if( (count++)>514 )
{
return false;
}
}
if(count<28) /*高電平太短*/
{
return false;
}
sign_buffer[i]=count; /*記錄電平持續(xù)時(shí)間*/
i++;
}
if( !ReadPt2262PinState() ) /*低電平*/
{
count=0;
while( !ReadPt2262PinState() )
{
/*計(jì)算低電平持續(xù)時(shí)間*/
Delayus(1);
if( (count++)>514 )
{
return false;
}
}
if(count<28) /*低電平太短*/
{
return false;
}
sign_buffer[i]=count; /*記錄電平持續(xù)時(shí)間*/
i++;
}
if(i>47) /*當(dāng)i=48時(shí),表明已連續(xù)記錄48個(gè)有效脈沖*/
{
for(i=0;i<12;i++)
{
/*窄電平記為0 寬電平記為1*/
if(sign_buffer[i*4]<114)
{
pt2262_level[i].high1=0;
}
else
{
pt2262_level[i].high1=1;
}
if(sign_buffer[i*4+1]<114)
{
pt2262_level[i].low1=0;
}
else
{
pt2262_level[i].low1=1;
}
if(sign_buffer[i*4+2]<114)
{
pt2262_level[i].high2=0;
}
else
{
pt2262_level[i].high2=1;
}
if(sign_buffer[i*4+3]<114)
{
pt2262_level[i].low2=0;
}
else
{
pt2262_level[i].low2=1;
}
if( pt2262_level[i].high1==0&&pt2262_level[i].low1==1&&\
pt2262_level[i].high2==0&&pt2262_level[i].low2==1)
{
pt2262_sign[i]=PT2262_SIGN_LOW;
}
else if( pt2262_level[i].high1==1&&pt2262_level[i].low1==0&&\
pt2262_level[i].high2==1&&pt2262_level[i].low2==0)
{
pt2262_sign[i]=PT2262_SIGN_HIGH;
}
else if( pt2262_level[i].high1==0&&pt2262_level[i].low1==1&&\
pt2262_level[i].high2==1&&pt2262_level[i].low2==0)
{
pt2262_sign[i]=PT2262_SIGN_IDLE;
}
else
{
return false;
}
}
/*解碼成功*/
return true;
}
}
}
}
return false;
}
void Pt2262CodingHandle( PT2262_SIGN *p_code ,int length )
{
int i;
/*起始碼*/
CODING_SET_LOW();
Delayus(12000);
CODING_SET_HIGN();
for(i=0;i<length;i++)
{
switch(p_code[i])
{
case PT2262_SIGN_LOW:
/*0碼*/
CODING_SET_HIGN();
Delayus(380);
CODING_SET_LOW();
Delayus(1200);
CODING_SET_HIGN();
Delayus(380);
CODING_SET_LOW();
Delayus(1200);
break;
case PT2262_SIGN_HIGH:
/*1碼*/
CODING_SET_HIGN();
Delayus(1200);
CODING_SET_LOW();
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
基于STM32F103平臺(tái)PT2262解碼及編碼程序.zip
(1.64 KB, 下載次數(shù): 189)
2017-11-15 16:45 上傳
點(diǎn)擊文件名下載附件
基于STM32F103平臺(tái)PT2262解碼程序
下載積分: 黑幣 -5
作者:
蘇州單片機(jī)項(xiàng)目
時(shí)間:
2017-11-16 08:30
注意,發(fā)送的時(shí)候有個(gè)bug,需要在for循環(huán)到最后一個(gè)的時(shí)候,發(fā)送一個(gè)高脈沖即可,增加的代碼如下
if(i==11)
{
CODING_SET_HIGN();
Delayus(380);
CODING_SET_LOW();
}
作者:
lzyscgy
時(shí)間:
2018-1-2 10:58
感謝分享!
作者:
碧空痕
時(shí)間:
2018-8-3 12:37
有沒有更詳細(xì)的使用方法或者完整的工程文件?
作者:
qsj_ic
時(shí)間:
2018-10-26 20:14
感謝分享
作者:
li121788501
時(shí)間:
2019-3-13 15:16
感謝樓主分享
作者:
nicole.088
時(shí)間:
2019-8-10 10:45
請(qǐng)假,如何將數(shù)據(jù)傳遞給Pt2262CodingHandle( PT2262_SIGN *p_code ,int length ); 比如我I想發(fā)送0xAA
作者:
vince
時(shí)間:
2020-11-19 20:31
哈哈,找到了這么老的帖子!
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
毛片免费观看
|
91精品国产综合久久久久久
|
久久88
|
伊人二区
|
日韩电影免费在线观看中文字幕
|
麻豆亚洲
|
国产91精品在线
|
黄篇网址
|
成人欧美一区二区三区在线观看
|
久久久久久久一区二区三区
|
人人干人人舔
|
日本a视频
|
伊人亚洲
|
亚洲成人一区二区三区
|
国产成人精品一区
|
福利久久
|
国产精品欧美一区二区
|
日韩av在线播
|
久久高清亚洲
|
成人h电影在线观看
|
久久国产传媒
|
成人国产精品久久
|
免费99视频
|
99久久久久久99国产精品免
|
精品欧美一区二区三区久久久
|
精品国产乱码久久久久久影片
|
激情国产在线
|
一级黄色毛片子
|
国产一区中文字幕
|
国产一区欧美
|
日韩中文不卡
|
亚洲欧美视频
|
亚洲欧美精品在线
|
亚洲一区国产精品
|
人人澡人人爱
|
亚洲手机视频在线
|
欧美精品video
|
久久久www成人免费无遮挡大片
|
中文字幕日韩一区
|
四色成人av永久网址
|
亚洲69p
|