cc2530串口的发送没有问题,在接收上进不去中断,U0DBUF获取不到串口的数据
#include"ioCC2530.h"
typedef unsigned int uint;
typedef unsigned char uchar;
void set_clock()
{
CLKCONCMD&=~0X40;
while(CLKCONSTA&0x40);
CLKCONCMD&=~0x47;
}
void port_info()
{
P1SEL&=~0X1B;
P1DIR|=0X1B;
P1&=~0X1B;
}
void uart0_info()
{
//设置引脚的功能
PERCFG&=~0X01;
P0SEL|=0X0C;
//设置波特率
U0BAUD=59;
U0UCR=8;
//uart0控制寄存器
U0UCR|=0X80;
//设置控制和状态
U0CSR|=0XC0;
//清除中断标志位
UTX0IF=0;
URX0IF=0;
//使能串口数据接收完成中断和总中断
URX0IE=1;
EA=1;
IEN0|=0x04;
}
void sentbyte(unsigned char dat)
{
U0DBUF=dat;
while(UTX0IF==0);
UTX0IF=0;
}
#pragma vector=URX0_VECTOR
__interrupt void uart0()
{
if(URX0IF==1)
{
URX0IF=0;
unsigned char tmp;
tmp=U0DBUF;
tmp++;
sentbyte(tmp);
}
}
void main()
{
uart0_info();
port_info();
set_clock();
while(1)
{
}
}