跪求高手帮忙修改,想用串口助手读出红外遥控的按键值,问题是串口助手什么都没收到,先谢过了!!!

\u4e32\u53e3\u8c03\u8bd5\u52a9\u624b\u67e5\u770b\u7ea2\u5916\u7f16\u7801

\u628a\u7ea2\u5916\u63a5\u6536\u5934\u7684\u4fe1\u53f7\u7aef\u63a5\u5230\u5355\u7247\u673a\u7684RXD\u7aef\uff0c\u518d\u901a\u8fc7\u4e00\u4e2a\u6ca1\u6709\u95ee\u9898\u7684\u7a0b\u5e8f\u5c06\u6536\u5230\u7684\u4fe1\u53f7\u53d1\u9001\u7ed9\u7535\u8111\uff0c\u7136\u540e\u901a\u8fc7\u4e32\u53e3\u52a9\u624b\u67e5\u770b\uff0c......

\uff0d\uff0d\uff0d\uff0d
\u7ea2\u5916\u63a5\u6536\u5934\uff0c\u9001\u6765\u7684\u4fe1\u53f7\uff0c\u5fc5\u987b\u7ecf\u8fc7\u89e3\u7801\uff0c\u4eba\uff0c\u624d\u80fd\u770b\u61c2\u3002

//****************************************************
//\u4e32\u53e3\u4e2d\u65ad
//****************************************************
void ser_int (void) interrupt 4
{

keyval=SBUF;//\u63a5\u6536\u4e00\u4e2a\u5b57\u7b26\u6570\u636e
while(!RI);//\u7b49\u5f85\u63a5\u6536\u5b8c\u6210
RI=0;//\u7f6e\u4f4d\u63a5\u6536\u6807\u5fd7\u4f4d

SBUF=keyval;//\u53d1\u9001\u521a\u521a\u63a5\u6536\u5230\u7684\u6570\u636e

while(!TI);//\u7b49\u5f85\u53d1\u9001\u5b8c\u6210
TI=0;//\u7f6e\u4f4d\u53d1\u9001\u7533\u8bf7\u6807\u5fd7\u4f4d
}


\u6ce8\uff1a\u5728\u4e32\u53e3\u4e2d\u65ad\u5185\uff0c\u4e0d\u9700\u8981\u7528if\u8bed\u53e5\u5224\u65adRI\u6216TI

\u53ea\u6709\u4e0d\u9002\u7528\u4e2d\u65ad\u65b9\u5f0f\uff0c\u9009\u7528\u67e5\u8be2\u65b9\u5f0f\u7684\u65f6\u5019\uff0c\u624d\u4f1a\u8fd9\u4e48\u505a

\u67e5\u8be2\u65b9\u5f0f\uff0c\u662f\u5728\u4e3b\u51fd\u6570\u6216\u5176\u5b83\u51fd\u6570\u4e2d\u8fdb\u884c\u63a5\u6536\u6570\u636e\u7684\u64cd\u4f5c

\u800c\u4e2d\u65ad\u65b9\u5f0f\uff0c\u4e0d\u7ba1\u5355\u7247\u673a\u539f\u5148\u5728\u5fd9\u4ec0\u4e48\u4efb\u52a1\uff0c\u4e00\u65e6\u6709\u6570\u636e\u5230\u6765\uff0c\u5219\u7acb\u5373\u6267\u884c\u63a5\u6536\u7b49\u4efb\u52a1

\u7b49\u5f85\u90e8\u5206\u4e0d\u80fd\u7701\u7565\uff0c\u867d\u7136\u7701\u7565\u4e0d\u5f71\u54cd\u7f16\u8bd1\uff0c\u4f46\u6570\u636e\u5728\u63a5\u6536\u6216\u53d1\u9001\u7684\u65f6\u5019\uff0c\u5bb9\u6613\u51fa\u9519

\u751a\u81f3\u4f1a\u5bfc\u81f4\u6574\u4e2a\u7a0b\u5e8f\u5047\u6b7b

你有可能还没有运行到发送命令的那个程序去,先单编一个串口通讯程序,把串口通讯测试成功如下:
uint8 code trdata1[]={0,0,24,160,1,236};
void Txd2_num(void)
{
uint8 i=0;
for(i=0;i<6;i++)
{
Usart1.RxdBuf[i]=trdata1[i];
}
SBUF =Usart1.TxdBuf[0];
Usart1.TxdCnt=0;
Usart1.TxdNum =6;
Usart1.TxdBusy=1;
}
/*****************************************
*串口1中断
*****************************************/
void RXD_Int_Service() interrupt 4
{
uint8 ch;
if(RI)
{
RI=0;
Usart1.RxdDly=6; //超过0.3S清空计数
Usart1.RxdBuf[Usart1.RxdCnt]=ch;
Usart1.RxdCnt++;
if(Usart1.RxdCnt>=10)
{
Usart1.RxdTrue=1; //接收正确。
Usart1.RxdNum=Usart1.RxdCnt;
Usart1.RxdCnt=0;
}
}
if(TI)
{
TI=0;
if(Usart1.TxdBusy)
{
Usart1.TxdCnt++;
if(Usart1.TxdCnt<Usart1.TxdNum) //发送计数。
SBUF=Usart1.TxdBuf[Usart1.TxdCnt];
else
Usart1.TxdBusy=0; //发送完成一帧数据,标志位。
}
}
}

我的红外摇控接收程序如下,可作参考

//*********************************************
//中断接收摇控头的信号.
unsigned int code comp[5]={6000,2000,500,200,500}; //分别代表9mS,4.5mS,1.5mS,0.56mS,1.5mS.
//此时晶振为12MHz
unsigned char Cnt;
void Ex_Int0_InSevice() interrupt 0
{
unsigned char j=0,i=0,ch[4];
unsigned int comp_data=0;
ch[0]=0;
ch[1]=0;
ch[2]=0;
ch[3]=0;
if(red_rxd==0 && !rxd_ture && RedDly==0)
{

while(red_rxd==0)comp_data++; //等高电平的到来
if(comp_data>comp[0]) //9mS的低电平
{
comp_data=0;
while(red_rxd==1)
{
comp_data++; //等低电平的到来
if(comp_data>5000)
return;
}

if(comp_data>comp[1]) //4.5mS的低电平
{
while(i<4)
{
for(j=0;j<8;j++)
{
while(red_rxd==0); //等高电平的到来
comp_data=0;
while(red_rxd==1)
{
comp_data++; //等低电平的到来
if(comp_data>1500)
return;
}
ch[i]=ch[i]>>1;
if(comp_data>comp[2])
ch[i]=ch[i]|0x80;
}
i++;
}
Cnt++;
if(Cnt>3)Cnt=0;
if(ch[0]==0x00&&ch[1]==0xff&&(ch[2]+ch[3])==0xff)
{
IR_key=ch[2];
rxd_ture=1;
}
}
}
}
RedDly=3;
}

  • 璺眰楂樻墜甯繖淇敼,鎯崇敤涓插彛鍔╂墜璇诲嚭绾㈠閬ユ帶鐨勬寜閿,闂鏄覆鍙e姪鎵嬩粈 ...
    绛旓細浣犳湁鍙兘杩樻病鏈夎繍琛屽埌鍙戦佸懡浠ょ殑閭d釜绋嬪簭鍘伙紝鍏堝崟缂栦竴涓涓插彛閫氳绋嬪簭锛屾妸涓插彛閫氳娴嬭瘯鎴愬姛濡備笅锛歶int8 code trdata1[]={0,0,24,160,1,236};void Txd2_num(void){ uint8 i=0;for(i=0;i<6;i++){ Usart1.RxdBuf[i]=trdata1[i];} SBUF =Usart1.TxdBuf[0];Usart1.TxdCnt=0;Usar...
  • 璇锋暀涓涓潪甯稿熀纭鐨刲abview涓插彛閫氫俊绋嬪簭,鐪熺殑寰堝熀纭,甯屾湜澶у甯繖!!濂...
    绛旓細浠ヤ笅鏄▼搴忥紝鎵嬪ご娌℃湁缂栬瘧杞欢锛岃繕娌℃湁缂栬瘧锛屾湁鍙兘瀛樺湪灏忛棶棰橈紝鍏堢紪璇戜竴涓嬨傝繕鏈夛紝寤鸿浣犲湪鍐橪abVIEW绋嬪簭涔嬪墠锛屽厛鎶婄‖浠堕棶棰樿皟璇曞ソ锛屼覆鍙i氫俊鍙互鍊熷姪涓插彛鍔╂墜鏉ヨ皟璇曪紝閮借皟璇曞ソ鍚庯紝鍐嶅啓LabVIEW绋嬪簭銆俰nclude <reg52.h> include <absacc.h> define unit unsigned int define uchar unsigned char sbit dul...
  • ...鎺ユ敹瀛楃涓测淥K鈥濈殑绋嬪簭銆傛帴鏀朵笉鍒板瓧绗︿覆,璺眰澶х鎸囩偣..._鐧惧害...
    绛旓細buf琛ㄧず鏁扮粍鐨勯鍦板潃锛岀浉褰撲簬鎸囬拡銆淇敼涓 if((i==2)&&if(strncmp((const char*)(buf),"OK",2)==0))
  • BBB铏氭嫙鏈篣SB涓插彛minicom涓嶉,璺眰澶х鎸囩偣
    绛旓細ttyUSB0鏄疷SB杞涓插彛鏁版嵁绾跨殑璁惧鍚嶃備綘鎶婁竴鏉sb杞覆鍙g嚎鎻掑埌鐢佃剳涓婏紝鍦ㄨ櫄鎷熸満璁剧疆閲岄潰鎶婂畠閾炬帴鍒拌櫄鎷熸満閲屽氨鑳界湅鍒颁簡銆傚鏋滄病鏈塽sb杞覆鍙g嚎锛屼篃鍙互閰嶇疆铏氭嫙鏈猴紝缁欒櫄鎷熸満娣诲姞涓涓覆鍙e氨琛屼簡銆備笉杩囨坊鍔犵殑铏氭嫙涓插彛灏变笉鍙玹tyUSB0浜嗭紝鑰屾槸鍙玹tyS0銆乼tyS1鈥︹︺傚叿浣撴搷浣滄柟寮忚鐪嬩綘鐢ㄧ殑铏氭嫙鏈鸿蒋浠舵槸鍝...
  • 鎴戠殑鐢佃剳鍦ㄥ紑鏈鸿繃涓浼氬悗鎬绘槸鑷姩鍏虫満,璺眰楂樻墜鎸囩偣!
    绛旓細杩樻湁涓绉嶆儏鍐,鏄洜涓烘満绠卞唴鐨凴ESET寮鍏冲紩绾垮湪鐒婃帴鏃剁粷缂樺眰鍓ョ杩囧,鍐嶅姞涓婁娇鐢ㄨ繃绋嬩腑澶氭鎷嗙灏变細閫犳垚RESET寮鍏崇嚎璺濈杩囪繎鑰屽紩璧风鎾,瀵艰嚧涓绘満鑷姩閲嶅惎銆 10.鎺ュ叆缃戝崱鎴栧苟鍙c涓插彛銆乁SB鎺ュ彛鎺ュ叆澶栭儴璁惧鏃惰嚜鍔ㄩ噸鍚 杩欑鎯呭喌涓鑸槸鍥犱负澶栬鏈夋晠闅,姣斿鎵撳嵃鏈虹殑骞跺彛鎹熷潖,鏌愪竴鑴氬鍦扮煭璺,USB璁惧鎹熷潖瀵瑰湴鐭矾,缃戝崱鍋氬伐涓嶆爣...
  • 鐢∕OXA涓插彛鍗¤缃甊S422鏍囧噯鎺ユ敹鏁版嵁,鏀朵笉鍒,楂樺垎姹傚姪!!!
    绛旓細RS-422鐨勮繛鎺ョ嚎鏈夋病闂锛熸尝鐗圭巼鏄惁涓鑷达紵鍐嶇劧鍚庝竴鑸琈OXA鍗℃槸RS-422/485鐨勶紝鍗$墖鏈韩浼氭湁涓浜涙嫈鐮佸紑鍏崇粰浣犲幓璋冪殑锛屼綘鏈夋病鐣欐剰锛熸渶鍚庝綘鑳戒笉鑳借涓嬩綘鏄粈涔堢被鍨嬬殑浜у搧锛熻繕涓嶈鍙戜釜閭欢缁欐垜鍚э紝鎴戣繖杈瑰氨鏄疢OXA鎬讳唬锛屾垜鏄悶MOXA浜у搧鎶鏈殑銆
  • ...USB杩炴帴涓嶄笂PC鍦―NW鍝潡鑰佹槸鏄剧ずUSB*...璺眰瑙e喅鏂规硶,鍥版壈鎴戝緢涔呬簡...
    绛旓細浣犺鐢║SB杞涓插彛锛USB濡傛PC锛屼覆鍙鎺ュ紑鍙戞澘鐨勪覆鍙o紒鍦≒C涓婂畨瑁匲SB杞覆鍙g殑椹卞姩锛岀敓鎴愯櫄鎷熶覆鍙eCOM2锛堟病鎼炴竻妤氭槸澶氬皯鍙互鍦ㄢ滄垜鐨勭數鑴戯紞灞炴р旂‖浠朵笅鎵撅級鍚姩DNW锛岄夋嫨姝g‘鐨勬尝鐗圭巼銆佷覆鍙o紝鐐硅繛鎺ワ紝OK
  • 璺眰澶х瑙g瓟!gps妯″潡鍙戠殑鏁版嵁51鍗曠墖鏈烘帴涓嶅埌,鎼炶繃鐨勮杩
    绛旓細寰Н鍒 4 4 5 绾挎т唬鏁 2 1 2 姒傜巼涓庢暟鐞 2 1 2 4銆佸洜涓洪珮鏁颁笁鐢变笁闂ㄤ笉鍚岀殑鏁板璇剧▼缁勬垚锛屾墍浠ユ暀鏉愪笂闈㈠苟涓嶆槸缁熶竴鐨勶紝鏈夊涓増鏈殑鏁欐潗锛岃繖闇瑕佺敱涓汉鑷閫夋嫨锛屼絾寤鸿閲囩敤鎶ヨ冨鏍$殑鏈鐝殑鏁欐潗锛堣繖鍙ヨ瘽鏈夋晥搴︿负30%锛...
  • 璺眰涓夎彵PLC楂樻墜
    绛旓細浣犵殑鐢佃剳绯荤粺鏄32浣嶈繕鏄64浣嶇殑銆傛垜璁板緱GX DEVELOP鏄32浣嶅拰64浣嶈蒋浠剁殑涓嶅悓鐗堟湰鐨勩侴Xworks2鍒欐病鏈夎繖鏍风殑鍖哄垎锛屼笉绠32浣嶅拰64浣嶉兘鍙互瀹夎銆傝繕鏈夊氨鏄畨瑁呬箣鍓嶏紝鎴戣寰楁湁涓笁鑿辫蒋浠剁殑鐜鏄瀹夎锛孍NVL鐨勪粈涔堟枃浠跺す銆傚氨鏄锛屽厛瀹夎鐜锛屽啀瀹夎缂栫▼杞欢銆
  • 绗旇鏈病鏈涓插彛,鎬庢牱浣垮畨瑁呯殑缁勬佺帇涓巔lc閫氳
    绛旓細1銆佺粍鎬佺帇涓嶱LC纭欢杩炴帴濡備笅鍥炬墍绀猴細缁勬佺帇璁剧疆 1銆佸畾涔夌粍鎬佺帇璁惧 缁勬佺帇瀹氫箟璁惧鏃惰閫夋嫨锛歔PLC] > [瑗块棬瀛怾 > [S7-200绯诲垪(USB)] > [USB]2銆佽澶囧湴鍧鍙婇氳鍙傛暟瀹氫箟 璁惧鍦板潃涓嶱LC鐨勫湴鍧涓鑷达紝涓烘槸鍗佽繘鍒舵暣鏁帮紝鑼冨洿 1鈥127 3銆佺粍鎬佺帇鏁版嵁璇嶅吀锛岻O鍙橀噺瀹氫箟 1)銆佺粍鎬佺帇涓瘎瀛樺櫒鍒楄〃 瀵勫瓨鍣ㄦ牸寮 ...
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网