【求助】有关无线通讯(实在没办法了)

ocean1920   2005-1-26 01:13 楼主
我已经从21号弄到现在了,本来年前想弄一点效果出来,但这几天一直试却实在调不通,所以只好向大家求助了。

我计划做两块电路板之间的无线通讯,用的是149,通讯模块是prt2000。

电路版已做好,板内控制灯等元件都是灵的,但是两块板之间的控一直不灵。

我现在的目标是这样:一块板一直收,另一个一直发,只发一个0x64的数据。收的电路板如果收到到这个数据,就让灯亮。应该说目的很单纯,但一直调不通,关键代码如下,请大家帮我看看:

接收:
ME1 = URXE0; //接收模块允许
U0CTL |= CHAR+MM+SWRST;
U0BR0 = 0x34;
U0BR1 = 0x00; //500K div 34 =9600
U0MCTL = 0;
U0RCTL |= URXEIE; //有关这个我不知怎么调好?????????
U0CTL &= ~SWRST;

//PTR2000模块初始化
P3OUT |= PWR+CS; //PWR供电,CS频道选择(这个是肯定对的)
IE1 |= URXIE0; //中断这样够吗?不知要不要开通那个GIE什么的
_EINT();
while(1);

发送:

ME1 |= UTXE0+URXE0; //接收和发送模块允许
//UART模块初始化
U0CTL |= CHAR+MM+LISTEN+SWRST;
U0TCTL |= SSEL1+SSEL0; //Select SMCLK as clock sourse 500K
U0BR0 = 0X34;
U0BR1 = 0X00; //500K div 50 =10K
U0MCTL = 0;
U0CTL &= ~SWRST;

//PTR2000模块初始化
P3OUT |= PWR+TXEN+CS; //TXEN选择为发送方式

_EINT();
while(1);


我有以下几个问题想确定一下:
1,有关接受:这样是否会触发接收中断
2,有关发送:我用timera_a的500ms的中断不停的发送0x46,那么是否这个数字一赋值给TXBUF0就会送到ptr2000的发送模块,然后ptr2000就发送出去??
3,我现在只想做一个最简单的联系,如果上面的设置不对,请教教我怎么设置(不用校验等)
4,怎么样可以检查无线电通讯模块是否损坏???

先谢谢大家耐心的看完,希望尽量解答,谢谢!!

回复评论 (4)

大家帮忙看看啊~~
郁闷死我了
谢谢大家
点赞  2005-1-26 15:43
兄弟,你的引脚使能了么?P3DIR,P3SEL?
点赞  2005-1-27 12:04
就是,怎么直接就输出呀,至少得先选端口功能吧
点赞  2005-1-27 12:06
你有示波器吗?可以测一下接收模块的数据输出脚有没有串行数据的波型,也可以先不通过模块,将单片机的引脚直接连先调通程序.
点赞  2005-1-28 09:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复