久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3217|回復: 1
打印 上一主題 下一主題
收起左側

pic18F4520串口通信 只能發送,但是接受不到

[復制鏈接]
跳轉到指定樓層
樓主
ID:169653 發表于 2017-9-5 15:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
為什么我的這個只能發送,但是接受不到呢,有誰能幫我解答一下嗎?
#include <pic18.h>                    
#include<math.h>

#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define TX  PORTCbits.RC6
#define RX  PORTCbits.RC7
#define LED PORTAbits.RA1

//==========================================================================
//                           1、通用基本函數體
//                           (包含程序數:4個)
//==========================================================================
/****************************************************************************
* 功    能:延遲函數1us
* 名    稱:Delay_us(uchar n)
* 說    明:經過示波器檢測,11.0592MHz下粗略精確到1us,實際略大于1us。
****************************************************************************/
void Delay_us(uchar n)
{
    uint j,k;
    for(j=0;j<n;j++)
            for(k=1;k>0;k--) asm("NOP");;
}

/****************************************************************************
* 功    能:延遲函數1ms
* 名    稱:Delay_ms(uchar n)
* 說    明:經過示波器檢測,11.0592MHz下精確1ms。
****************************************************************************/
void Delay_ms(uint n)
{
    uint j,k;
    for(j=0;j<n;j++)
        for(k=730;k>0;k--) asm("NOP");
}

/****************************************************************************
* 功    能:10進制數據轉換為BCD碼
* 名    稱:Num_BCD(uchar data)
* 說    明:用在時鐘DS3231處。
****************************************************************************/
uchar Num_BCD(uchar data)
{
    uchar i,j,k;
    i=data/10;
    j=data%10;
    k=j+(i<<4);
    return k;
}

/****************************************************************************
* 功    能:BCD碼轉換為10進制數據
* 名    稱:BCD_Num(uchar data)
* 說    明:用在時鐘DS3231處。
****************************************************************************/
uchar BCD_Num(uchar data)
{
    uchar i;
    i=data&0x0F;
    data=data>>4;
    data&=0x0F;
    data*=10;
    i+=data;
    return i;   
}


/****************************************************************************
* 功    能:單片機初始化設置。
****************************************************************************/
void Init()
{
/***************IO口設置*********************/
    ADCON1=0x0F;    //禁止所有AD轉換口
    CMCON=0x07;           
    CVRCON=0x00;        
    TRISA=0x00;
    TRISB=0x07;
    TRISC=0xC0;    //PIC18F4520的TX/RX必須置1
    TRISD=0x00;
    TRISE=0x00;
    PORTA=0x08;
    PORTB=0x00;
    PORTC=0x0E;
    PORTD=0x03;
    PORTE=0x00;
/*****************中斷設置******************/
    INTCON=0xE0;    //全局中斷開,TMR0中斷開
    INT0IE=1;
    INT1IE=1;
    INT2IE=1;
    INTEDG0=0;
    INTEDG1=0;
    INTEDG2=0;
    RCIE=1;    //使能接收RC中斷
/***************定時器0設置****************/
    T0CON=0x05;    //16位定時器,256分頻//
        T1CON=0xb0;    //16位讀寫,8分頻
/****************UART設置******************/
    TXSTA=0x04;    //TX發送寄存器
    RCSTA=0x90;    //RC接收寄存器
    BAUDCON=0x08;  //16位波特率控制器默認值
    SPBRGH=0x00;
    SPBRG=0x47;    //波特率38400
    Delay_ms(100);    //延遲100ms等待時鐘穩定
}

//芯片配置字,看門狗關,上電延時開,掉電檢測關,低壓編程關,加密,4M晶體HS振蕩

/****************************************************************************
* 名    稱:main()
* 功    能:主函數
* 入口參數:無
* 出口參數:無
* 說    明:無
****************************************************************************/
/****************************************************************************
* 功    能:主函數。
****************************************************************************/
void main()
{
    Init();
    SPEN=1;
    CREN = 1;                      //enable receiver circuitry of eusart
    TXEN = 1;                      //enable transmitter circuitry of eusart
    RCIE = 1;                       //enable usart receiver interrupt
    GIE = 1;                        //enable all active interrupts
    PEIE = 1;
    LED=1;
    Delay_ms(1000);                     //enable all active peripheral interrupts   
    while(1)
    {
          LED=0;
      Delay_ms(1000);
    }
                        
}
void interrupt INT_ISR(void)
{
    if(RCIF && RCIE)
    {
     TXREG = RCREG;
     while(!TRMT);
    }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:169653 發表于 2017-9-5 15:44 | 只看該作者
LED是為了測試程序是否進入中斷,發現它進入了中斷
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情一区二区 | 欧美精品综合在线 | 久草福利 | 久久一区二区三区四区 | 久久国产精品视频 | 欧美一区二区三区久久精品 | av天天干| 日p视频免费看 | 国产在线视频一区二区 | 色综合网站| 狠狠操狠狠操 | 久久久久国产一区二区三区四区 | 午夜资源 | 毛片网站在线观看 | 亚洲综合二区 | 一区二区三区欧美大片 | 久久成人18免费网站 | 国产91精品久久久久久久网曝门 | 国产成人精品久久二区二区91 | 欧美精品一区二区三区在线播放 | 亚洲伊人精品酒店 | 亚洲精品视频在线观看视频 | 一级在线 | 日本 欧美 三级 高清 视频 | 久久久精品久久 | 中文字字幕一区二区三区四区五区 | 久久精品欧美视频 | 亚洲视频一区在线观看 | 亚洲劲爆av | 久久专区| 男女在线网站 | 日操夜操| 日本在线免费看最新的电影 | 亚洲精品 在线播放 | 国产精品视频免费观看 | 久热电影| 国产福利精品一区 | av在线免费观看网站 | 国产精品久久欧美久久一区 | 成人在线免费看 | 亚洲在线一区 |