|
这是我的代码,经各种测试你,得出的结论是,发送数据会中断,但是接收数据却不会中断,但是RI0却有被置1了,求大神解救啊
unsigned char photo[100];
unsigned char * pho;
void main(void)
{
unsigned char key,display; //按键键值
unsigned char i,flag; //显示标志定义
WDTCN = 0xde; // 关闭看门狗
WDTCN = 0xad;
SYSCLK_Init ();// 配置系统时钟
PORT_Init (); // 端口配置
LCD_Init(); // 1602C 液晶初始化
alarm_long(); // 长指示
ES0=1; //U0中断使能
Uart0_Init (96); //Uart0初始化
EA=1; // 允许全局中断
display = 0; // 变量初始化
flag = 0;
pho=photo;
while(1)
{
Delay_ms(200); //略作延时
key = ScanKey(); //按键扫描 读键值
if(key != NOKEY) //如有按键按下蜂鸣器响一声 指示灯闪烁一次
{
alarm_short();
flag = 1;
}
switch (key) //判断按键值
{
case KEY_1: display = 1;
Uart0_SendString ("1234567890");
break;
case KEY_2: display = 2;
Uart0_SendString (photo);
break;
case KEY_3: display = 3;break;
case KEY_4: display = 4;break;
case KEY_5: display = 5;break;
case KEY_6: display = 6;break;
case KEY_7: display = 7;break;
case KEY_8: display = 8;break;
}
if(flag == 1) //键值送液晶显示
{
for(i=0;i<16;i++)
LCD_ShowChar(1, i, display);
}
while(RI0)
{
LED3=~LED3;
}
}
}
void Uart0_r() interrupt 4
{
while(RI0)
{
*pho=SBUF0;
pho++;
LED1=1;
RI0=0;
}
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|