找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2850|回复: 1
打印 上一主题 下一主题
收起左侧

STM32与两片MSP430实现通信源程序

[复制链接]
跳转到指定楼层
楼主
这是关于串口通信的程序,可以实现三方通信(只用一个串口)STM32与两片MSP430实现通信


单片机源程序如下:
  1. #include  <msp430x14x.h>
  2. #include "RF.h"

  3.   void delay_100ms(unsigned int i)
  4.   {
  5.           unsigned long j;
  6.           for(;i>0;i--)
  7.           {
  8.                   for(j=0;j<144200;j++);
  9.           }
  10.   }

  11.    
  12.    

  13. //unsigned char RXData[4]={0};
  14. unsigned char TxBuf[5]={0};
  15. unsigned char RxBuf[5]={0};
  16. unsigned char a,b,c;
  17. unsigned char PaTabel[8] = {0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60};
  18. //unsigned char rxBuffer;



  19. void main(void)
  20. {   

  21.   
  22. unsigned char leng = 2;
  23.   //   P5DIR |= BIT3;
  24.   //P5OUT |= BIT3;
  25.   
  26.   
  27.   
  28.   
  29.   
  30.     CpuInit();  //包括看门狗,时钟,I/O口,SPI   
  31.     POWER_UP_RESET_CC1100();
  32.     halRfWriteRfSettings();
  33.     halSpiWriteBurstReg(CCxxx0_PATABLE, PaTabel, 8,1);
  34.     halSpiWriteBurstReg(CCxxx0_PATABLE, PaTabel, 8,2);
  35.     delay(100);
  36.    
  37.    
  38.     P3SEL |= 0x30;            //P3.4 P3.5 ????????????   
  39.     ME1 |= UTXE0 + URXE0;                     // Enable USART0 TXD/RXD
  40.     UCTL0 |= CHAR;                            // 8-bit character
  41.     UTCTL0 |= SSEL1;                          // UCLK = SMCLK
  42.     UBR00 = 0x45;                             // 8MHz 115200
  43.     UBR10 = 0x00;                             // 8MHz 115200
  44.     UMCTL0 = 0x00;                            // 8MHz 115200 modulation
  45.     UCTL0 &= ~SWRST;                          // Initialize USART state machine
  46.     IE1 |= URXIE0;
  47.     delay(100);
  48.    
  49.     P1DIR &= ~(BIT0+BIT1+BIT2+BIT3);
  50.     P2DIR |= BIT7+BIT6+BIT5+BIT4;    //控制led灯
  51.     P2OUT |=BIT7+BIT6+BIT5+BIT4;  
  52.     for(;;)
  53.     {
  54.        /**********************************开机************************************************/
  55.       if(0==(P1IN&0X01))   
  56.        {   
  57.          P2OUT^=BIT7;
  58.          delay_100ms(1);
  59.       
  60.          TxBuf[0]=0x01;
  61.          TxBuf[1]=0x02;
  62.          
  63.             while(0==(P1IN&0X01));
  64.          halRfSendPacket(TxBuf,leng,1); // Transmit Tx buffer data
  65.       
  66.        }
  67.       
  68.        /********************************关机**************************************************/
  69.       if(0==(P1IN&0X02))   
  70.        {   
  71.          P2OUT^=BIT6;
  72.          delay_100ms(1);
  73.       
  74.          TxBuf[0]=0x01;         
  75.          TxBuf[1]=0x03;
  76.            while(0==(P1IN&0X2));
  77.          halRfSendPacket(TxBuf,leng,1); // Transmit Tx buffer data
  78.    
  79.        }
  80.    /***********************************温度加***********************************************/     
  81.       if(0==(P1IN&0X04))   
  82.        {   
  83.          P2OUT^=BIT5;
  84.          delay_100ms(1);
  85.          
  86.          TxBuf[0]=0x01;         
  87.          TxBuf[1]=0x04;
  88.         
  89.           while(0==(P1IN&0X04));
  90.          halRfSendPacket(TxBuf,leng,1); // Transmit Tx buffer data
  91.      
  92.        }
  93.      /**********************************温度减************************************************/
  94.       if(0==(P1IN&0X08))   
  95. ……………………

  96. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
stm32和msp430通信.7z (349.06 KB, 下载次数: 20)




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2019-4-12 17:01 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表