导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→高手一定会帮我解决的!![iceyj]

 *第11234篇: 高手一定会帮我解决的!!

  
楼 主:iceyj 2003年4月30日08:51
 高手一定会帮我解决的!!
#include   <CommDrv.h>  
#include   <modemdrv.h>  
int ModemState;
static void CommDrvDefaultProc ( uchar value);
static void (* EvtProcedure) (uchar value) = CommDrvDefaultProc;

static void CommDrvDefaultProc (uchar value) {
       (void)value;
}

void UseDefaultCommProc (void) {
 disable();// 在c语言中,这里怎么改写,在对pc串口进行操作时在dos.h中有中断可调用
     EvtProcedure = CommDrvDefaultProc;
 enable();//在c语言中
 
}
void initcomm(void){
 TMOD = 0x20;
 TH1=0Xf3;
 TL1=0Xf3;
 SCON=0x53;
 PCON=0x80;
 TR1=1;
 IP=0x10;
 IE=0x90;
}
void CommEventProc (EventProc Proc) {
  disable();         // Disable Interrupts
  EvtProcedure = Proc;            // Install service handler
  enable();  // Enable interrupts
}
 
void WriteComm (uchar c) {
 SBUF = c;  // Write char to SCI data register
 while (TI==0);// Wait until character gets transmited
 TI=0;
}
void UartRxISR(void) interrupt 4 using 3
{
   uchar ch;
  while(RI==1)
  RI=0;
  ch=SBUF;
 
     // acknowledge this IRQ
  EvtProcedure (SBUF); // Fordward the character to a service routine
  }

就是中断接收有问题!!
谢谢回复!!

  
2楼:tm1300 2003年4月30日09:20
 简单看看,提个建议
void UartRxISR(void) interrupt 4 using 3
{
   uchar ch;
  while(RI==0);            //修改              
  RI=0;
  ch=SBUF;
 
     // acknowledge this IRQ
  EvtProcedure (SBUF); //?中断中如果调用void UartRxISR(void) interrupt 4 using 3
{
   uchar ch;
  while(RI==1)
  RI=0;
  ch=SBUF;
 
     // acknowledge this IRQ
  EvtProcedure (SBUF); // 注意(还没有修改):中断中调用外部函数的话,那么中断
                      // 使用的寄存器组必
                                //须和所调用的函数使用同样的寄存器组,否则肯定出错
   }                  
}
  
3楼:iceyj 2003年4月30日09:46
 这里如何改写?tm1300
void UseDefaultCommProc (void) {
 disable();// 在c语言中,这里怎么改写,在对pc串口进行操作时在dos.h中有中断可调用
     EvtProcedure = CommDrvDefaultProc;
 enable();//在c语言中
 
}
  
4楼:tm1300 2003年4月30日10:09
 建议多看看人家如何对串口进行操作的,有个对比容易理解
一般多使用一些可读性,可维护性,可操作性的程序,便于交流维护。
  
5楼:iceyj 2003年4月30日09:39
 谢谢tm1300!!!
  
6楼:guest 2003年5月3日19:45
 这个是摩托罗拉的开发人员写的关于用单片机
这个是摩托罗拉的开发人员写的关于用单片机走PPP上网的程序吧?改写的时候中断程序最好让编译器来分配寄存器组。
  
7楼:iceyj 2003年5月11日21:45
 谢谢!
我想改写成c51的中断这一块 如何改写呢/ 
谢谢!

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

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


[上一篇主题]:求救:谁知道给输入信号做微分处理

[下一篇主题]:[求助]急!!TTL电平转RS232。握手信号的接法???