[原创] 物联网智能家居-厨房之2553与CC2530串口通讯

anananjjj   2012-7-15 20:13 楼主
MSP430G2553与CC2530串口通讯已经成功实现了!
20120715_0281.jpg
 图中下面的那个板子是我借的,是仿官方的CC2530的板子 !
黑线和白线就是串口线 啦!灰屏显示的是MSP430上的数据,
蓝屏显示的则是通过串口发送到CC2530上后显示的数据! 两块屏上的数据时一致的!
介绍一下程序:
MSP430G2553部分:
初始化串口
void USCI_A0_init(void)
{
  P1SEL = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD
  P1SEL2 = BIT1 + BIT2;                      
  UCA0CTL1 |= UCSSEL_2;                     // SMCLK
  UCA0BR0 = 8;                              // 1MHz 115200
  UCA0BR1 = 0;                              // 1MHz 115200
  UCA0MCTL = UCBRS2 + UCBRS0;               // Modulation UCBRSx = 5
  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  IE2 |= UCA0RXIE + UCA0TXIE;               // Enable USCI_A0 TX/RX interrupt
  __bis_SR_register(GIE);       // Enter LPM3 w/ interrupts enabled
}
发送单个字节(查询法)
void UartTX_Send_char(unsigned char c)
{
    UCA0TXBUF=c;   
    while(!(IFG2&UCA0TXIFG));
    IFG2&=~UCA0TXIFG;
}
接收(中断法)
// USCI A0/B0 Receive ISR
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
   uchar c;
    c=UCA0RXBUF;
    IFG2&=~UCA0RXIFG;
  __bic_SR_register_on_exit(LPM3_bits);        // 出低功耗
}

CC2530部分:
初始化:

void initUARTtest(void)
{

    CLKCONCMD &= ~0x40;              //晶振
    while(!(SLEEPSTA & 0x40));      //等待晶振稳定
    CLKCONCMD &= ~0x47;             //TICHSPD128分频,CLKSPD不分频
    SLEEPCMD |= 0x04; //关闭不用的RC振荡器

    PERCFG = 0x00; //位置1 P0口
    //P0SEL = 0x3c; //P0用作串口
    P0SEL = 0x0c; //P0用作串口
    U0CSR |= 0x80; //UART方式
    U0GCR |= 11; //baud_e
    U0BAUD |= 216; //波特率设为11520
    UTX0IF = 1;

    U0CSR |= 0X40; //允许接收
    IEN0 |= 0x84; //开总中断,接收中断
}
发送字符串(查询法)
void UartTX_Send_String(uchar *Data,int len)
{
  int j;
  for(j=0;j<len;j++)
  {
    U0DBUF = *Data++;
    while(UTX0IF == 0);
    UTX0IF = 0;
  }
}
接收(中断法)


#pragma vector = URX0_VECTOR
 __interrupt void UART0_ISR(void)
 {

  URX0IF = 0; //清中断标志
temp = U0DBUF;


 }

回复评论 (4)

我不明白,智能家居不也是用富士的板子么。怎么我从来没看到楼主用富士的板子呢?

http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2012-7-15 20:17

回复 沙发 ddllxxrr 的帖子

我调的是数据采集节点部分!富士通是是用来做主控部分的!也就是说在完成串口到CC2530的传送后,经由zigbee协议传送到富士通板子上面去!

[ 本帖最后由 anananjjj 于 2012-7-15 20:46 编辑 ]
点赞  2012-7-15 20:34
富士通部分代码将在后期贴出。
点赞  2012-7-15 20:43
MARK一下
点赞  2012-7-27 10:12
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复