找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求助,中穎SH79F6486串口中斷一直進不去

[復制鏈接]
跳轉到指定樓層
樓主
ID:240583 發(fā)表于 2017-11-16 16:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

#include "SH79F6486.H"
#include "SH79F6486E.H"

#include "intrins.h"
#include "ABSACC.H"
#include "stdlib.h"
#define RS485_DIR P1_0
uint8_t receiveData;
void        InitSys(void);
void Init_Clk();

void        main(void)
{
  EA =0;
Init_Clk();
        InitSys();                                        /* 初始化 */
        while(1)
        {
       
        }
}
void Init_Clk()
{ unsigned int Delay;
  OSCLO=0x55;
  CLKCON1 =0x80;//打開12MHz振蕩器
  _nop_();
  _nop_();
        //while((CLKCON1 &(1<<6))==0);
        Delay=0xff;
        while(Delay--);
        OSCLO=0x55;
        CLKCON =0x00;
        _nop_();
  _nop_();
        _nop_();
  _nop_();
  OSCLO=0x00;
}
void        InitSys(void)
{
        /*-----------------未使用到的IO口-----------------*/

P2CR=0xFF;
P2PCR=0x00;
P2=0x00;
P2CON=0x00;

P3CR=0xFF;
P3PCR=0x00;
P3=0x00;

P4CR=0xFF;
P4PCR=0x00;
P4=0x00;

P6CR=0xFF;
P6PCR=0x00;
P6=0x00;

P7CR=0xFF;
P7PCR=0x00;
P7=0x00;

P8CR=0xFF;
P8PCR=0x00;
P8=0x00;

P9CR=0xFF;
P9PCR=0x00;
P9=0x00;

P10CR=0xFF;
P10PCR=0x00;
P10=0x00;
P10CON=0x00;

        /*------------------使用到的IO口------------------*/
        P0CR         =0xFB;                                /* P0.2共用作RXD  P0.3共用作TXD */
        P0PCR        = 0x04;
        P0OS=0xff;
        P0= 0x00;
        P1CR=0xFF;
  P1PCR=0x00;
  P1=0x00;

        /*------------------EUART初始化-------------------*/
  PCON        =        0x00;                                /* 設置EUART0的工作方式SM0 SM1 SM2來選擇 */
        SCON2        =        0x50;                                /* 設置EUART0為工作模式3,清除發(fā)送沖突標志,清除發(fā)送中斷標志和接收中斷標志,允許接收 */               
  SBRTH2=0x7f;/* 設置波特率發(fā)生器的溢出值  波特率9600 */
  SBRTL2=0xb2;
  SFINE2=0x02;
        SBRTH2        |=        0x80;                                /* 使能波特率發(fā)生器 */
        /*---------------開啟EUART2中斷---------------*/
        EA=1;                                                                                /*                          Bit7        Bit6  Bit5  Bit4  Bit3  Bit2  Bit1  Bit0 */
        IEN1        =        0x10;                /* IEN1                   ELPD   ES3  EPWM  ES2   EHSEC EX3   EX2   N/A  */
        RS485_DIR =0;
       
}
void delay(uint16_t i)
{
        while(i--);       
}

void InterruptUART() interrupt 11
{  
  receiveData=SBUF2;//出去接收到的數據
        SCON2&=~0x01;//清零接收中斷標志位RI2=0
        delay(100);
        RS485_DIR=1;

        SBUF2=receiveData;//將接收到的數據放入到發(fā)送寄存器
        while(!(SCON2&0x02));                         //等待發(fā)送數據完成
  SCON2&=~0x02;//清零發(fā)送中斷標志位TI2=0
        RS485_DIR=0;
  
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:644287 發(fā)表于 2020-10-26 14:09 | 只看該作者
親,能把SH79F6486這個程序源碼發(fā)給我嗎?
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表