导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助][LPC938的串口是否可以以全双工的模式工作]

* 27823: [求助][LPC938的串口是否可以以全双工的模式工作]

   落日星辉 
落日星辉发表的帖子 

 [求助][LPC938的串口是否可以以全双工的模式工作]
如题,小弟最近在用菲利普的LPC938单片机做项目,在其中发现当我在使用串口发送数据时无法接收串口的数据接受中断,但我已将串口发送中断响应屏蔽掉了,串口接收中断与串口接收使能都是开着的,但是单片机就是无法接受数据从而产生中断。还望各位大虾指点一二。
我的程序如下:

#include "REG938.h"

#define U8 unsigned char;

void init();
void UART_init();
void DataRev(void);

U8 FrameReg[8];  //串口数据缓冲区,长度为8个字节
U8 FrameRegPtr;  //缓冲区偏移地址

void main(void)
{
 init();
 UART_init();
 while(FrameRegPtr   <= 7) {};
 FrameRegPtr = 0;
 do{
  TI = 0;
  SBUF = 0x5a;
  while(!TI) {};
  TI = 0;
  
  while(FrameRegPtr == 8) {};
  
  }while(1); 
}

void init(void)
{
 P1M1 = 0x00;     //push pull except RX
 P1M2 = 0xFD;
 P2M1 = 0x00; // push pull
 P2M2 = 0xFF;
 ESR  = 1;  // enable UART interrupt
 EST  = 0;
 EA   = 1;
}

void UART_init()

 //PCON  |=  0x00;
 SCON = 0x50;    // select BRG as UART Baud Rate Gen
 SSTAT = 0x40;    // separate Rx / Tx interrupts
 //BRGCON  =  0x02;
 BRGR0 = 0x70;    // setup BRG for 19200 baud @ 7.373
 BRGR1 = 0x01;
 BRGCON  =  0x03;       // enable BRG
}

void DataRev(void) interrupt 4
{
 RI = 0;
 FrameReg[FrameRegPtr] = SBUF;
 if(FrameRegPtr   <= 7)
  FrameRegPtr++;

}

串口不停发送数据,即使我发送再多数据也停不下来。



发表时间:2007年8月30日16:17:47

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:[原创]Re:上楼的,活动我参加了,不知道能不能拿奖,支持一下飞思卡尔的智能车赛。
[下一篇帖子]:[原创]Re:知道的进来下,我也很想了解