导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→有关w77e58串口调试[zhonghuahun212]

 *第31017篇: 有关w77e58串口调试

  
楼 主:zhonghuahun212 2005年4月7日09:16
 有关w77e58串口调试
不知道怎么回事,我用的串口调试程序,竟然不能从串口读出任何数据;
程序:
#include" W77E58.h"
static int flag_1,flag_0;
char c1[]="hello china";
char c2[]="hello World";
main()

     int i;
     flag_1=1;
     flag_0=1;
     //system init ,其中串口0用定时器2,串口1用定时器1 
     
     //串口1的设置
     IE=0x90;      //允许总中断和串口0的中断
     TMOD=0x20;      //定时器1工作在模式1
     TL1=0xf4;      //baud rate=2400
     TH1=0xf4;
     SCON1=0x58;   //工作在模式1,允许接收
     PCON=0x00; // SM0=0 SM1=1 在10位异步收发模式 SMOD=0 溢出速率/32 
     ES1=1;    //串口1中断允许
     
     SCON=0x58;      //工作在模式1,接收允许
     T2CON=0x30;  //用定时器2做串口0的波特率发生器
     RCAP2H=0xff;   // 11.0592M晶振下,baud rate=2400 
     RCAP2L=0x70;

     TR2=1;
     TR1=1;
     while(1){
        if(flag_0) {
  TI=1;
  flag_0=0;
}
        for(i=0;i  <1000;i++)
        ;
        if(flag_1) {
  TI_1=1;
  flag_1=0;
}
        for(i=0;i  <1000;i++)
        ;
     }
}
  


/*********************************
串口 0 中断函数
*********************************/

void serial_0(void)interrupt 4
{
    int i;
    if(RI){
      flag_0=1;
      RI=0;    
    }
    if(TI){
        for(i=0;i  <10;i++){
            TI=0;
            SBUF=c1[i];
            while(TI==0) ;
            TI=0;
        }
    }
}             


/*********************************
串口 1 中断函数
*********************************/

void serial_1(void)interrupt 7 
{    
    int i;
    if(RI_1){
        flag_1=1;
        RI_1=0;
    }
    if(TI_1){
        for(i=0;i  <10;i++){
            TI_1=0;
            SBUF1=c2[i];
            while(TI_1==0) ;
            TI_1=0;
        }        
    }

还请那位大虾指点迷津!

电脑通过串口调试助手发送数据给单片机,但是收不到单片机的数据!
不知道为何?

  
2楼:zhonghuahun212 2005年4月7日11:17
 我来顶!
没人来,我来!
郁闷!
  
3楼:fenggou80 2005年4月11日16:03
 能进中断吗?

>>>>>>对该主题发表你的看法

本主题贴数3,分页: [第1页]


[上一篇主题]:求购S3C4510开发板

[下一篇主题]:学习ARM的问题5