发表于:2004-08-01 21:54:00
楼主
在进行MSP430的通讯时,有一种是点对多点通讯。我在对UART进行设置时如下:
void UART_INIT(void) //UART初始化函数
{
UCTL0|=SWRST;
UCTL0&=~SWRST; //SWRST复位,RSART允虚0
UCTL0|=CHAR+MM; //8位数据,地址位模式
UTCTL0=SSEL0+SSEL1; //选择时钟
URCTL0|=URXWIE;
UBR00=0x0A; //波特率为1200hz//时钟频率为32768
UBR10=0x1A;
UMCTL0=0xAB;
ME1|=URXE0+UTXE0; //UART发送模块允许
IE1|=URXIE0; //开启模块0发送接收中断
P3SEL=0x30; //p3.4,5为外围模块所占用
P3DIR=0x10; //p3.4为输出,p3.5为输入
}
其中的URCTL0|=URXWIE表示只有地址格式的字符能给URXIFG置位,在做有线通讯的时候,的确是这样的。但是,在通过高频电台做无线通讯的时候,我发现,电台传来的信号,无论是地址字符还是数据字符都能给URXIFG置位。这样,设置URCTL0|=URXWIE就失去了意义。
不知道我表达清楚了没有。那位可以给我讲讲是怎么回事,应该如何解决。