最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

求助: 如何測(cè)試c51串口收-發(fā)例程

作者:bbtclj 欄目:單片機(jī)
求助: 如何測(cè)試c51串口收-發(fā)例程
各位大匠; 我學(xué)習(xí)本站載的" 單片機(jī)C51串口中斷接收和發(fā)送測(cè)試?yán)蹋ê?協(xié)議的實(shí)現(xiàn))"一文,源程序是原書光盤所帶,順利通過(guò)編譯鏈接,在同一臺(tái)PC
上調(diào)試,單片機(jī)用Keil,PC用"串口調(diào)試助手",按要求在PC端發(fā) 95 10 20 25 ,
但是就是沒(méi)有回傳的信息,不知何故,墾請(qǐng)各位高人指點(diǎn),謝謝.


2樓: >>參與討論
zhoujiawen
這是我自己寫的
這是我自己寫的串口程序,調(diào)試過(guò)了,可以根據(jù)數(shù)據(jù)包的要求接收和拋棄,
#include "reg51.h"
#include "stdio.h"

#define    XTAL    11059200    //晶振頻率
#define    Baud    9600        //串口波特率
#define    R_leng    7            //串口接收緩沖區(qū)
#define    T_leng 12            //串口發(fā)送緩沖區(qū)
#define headCHAR 0xf0
#define tailCHAR 0xcc
//unsigned CHAR headCHAR=0xf0;
//unsigned CHAR tailCHAR=0xcc;
unsigned CHAR addr=0x10;

CHAR idata luca_Txdbuf[T_leng]={0xf0,0x10,0x5,0xa4,0x12,0x13,0x01,0x02,0x03,0x04,0x05,0xcc};
unsigned CHAR idata luca_Rxdbuf[R_leng];
unsigned CHAR  c;

unsigned CHAR i=0,n=0;

unsigned int Tmpcrc;

void delay (void)
    {
unsigned int i;
        for (i=10000;i>0;i--);
    }


static void Com_isr(void) interrupt 4 using 1
{if(RI)
{        
RI=0;
         c=SBUF;
    SWITCH(i)
    {case 0:
    i++;
    if(c!=headCHAR)
    {i=0;
    return;
    }
         luca_Rxdbuf[0]=c;
    break;
    case 1:
    i++;
    if(c!=addr)
    {i=0;
    return;
    }
    luca_Rxdbuf[1]=c;
    break;
    case 6:
    i=0;
    if(c!=tailCHAR)
    {i=0;
    return;
    }
    luca_Rxdbuf[6]=c;
    break;
    default:
    luca_Rxdbuf[i]=c;
    i++;
    break;
    }
            
    }
    if(TI)
    {    
    TI=0;
    /*for(n=0;n<12;n++)
    {
    SBUF=luca_Txdbuf[n];
    delay();
    }*/

    for(n=0;n<7;n++)
    {    
    SBUF=luca_Rxdbuf[n];
    delay();
    }
      }
}
          
新手,寫的不怎么樣??總算能接收和發(fā)送!
void Com_init(void)
{    
    PCON |=0x80;
    TMOD |=0x20;
    TH1= (unsigned CHAR)(256-(XTAL/(16L*12L*Baud)));
    TR1=1;

    SCON=0x50;
    ES=1;
}



void main(void)
{    EA=1;
    Com_init();
    
    while(1)
    {
    while(luca_Rxdbuf[6]==0xcc)
    { SBUF=0;
      delay();
      }
        
       }        

}

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)問(wèn)作射頻PCB的材料有些什么要求?
多個(gè)單片機(jī)的同步工作問(wèn)題
請(qǐng)教串口通信問(wèn)題!請(qǐng)大俠幫忙
請(qǐng)問(wèn):農(nóng)民講習(xí)所
關(guān)于超市收款機(jī)lcd顧客顯示屏問(wèn)題
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào)