⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 congji.c

📁 485的msp430通讯,包括主机和从机的程序.多机通讯,例子是三个弹片机,可以扩展多个,硬件终端电阻要求120,
💻 C
字号:
#include "msp430x44x.h"
void Init(void);
void Out_data(void);
unsigned int j,t,i;
void main(void)
{
  WDTCTL=WDTPW+WDTHOLD;
  //FLL_CTL0&=0xBF ;
  Init();
  _EINT();
  while(1);
   //{
   //Out_data();
   // }
 }

void Init(void)
{
 P6DIR=0XFF;
 P6OUT=0XFF;
 UCTL1|=CHAR+MM;                           //8位数据位,1位停止位,地址位模式
 URCTL1|=URXWIE;                     //只有地址字符使URXIFG置位
 UBR01=0X03;
 UBR11=0X00;
 UMCTL1=0X4A;                          //使用32KHZ晶振时钟,波特率为9600BPS
 UTCTL1|=SSEL0;                        //选定为ACLD为时钟源
 ME2|=URXE1+UTXE1;                          //UART1发送及接收模块允许
 P4SEL|=BIT1+BIT0;                     //定义P4.0,P4.1口为发送及接收
 P4DIR|=BIT2+BIT0;
 P4DIR &=~ BIT1;
 P4OUT &=~BIT2;
 UCTL1&=~SWRST;                        //SWRST复位,USART允许
 IE2|=URXIE1;                          //接收中断允许
 }
void Out_data(void)
 {
   if(j<10)
    TXBUF1=j++;
   else
    j=0;
   for(t=0;t<5000;t++);
  }
interrupt[USART1RX_VECTOR] void USATR1RX(void)
{
   if(URCTL1&URXWIE)
     {
      if(RXBUF1==49)
        {URCTL1&=~URXWIE;
         for(t=0;t<5000;t++);
         P4OUT|=BIT2;
        // TXBUF1=5;
        // for(t=0;t<10000;t++);
loop:
         if(i>0)
           {TXBUF1=i; 
            i=i-1;
            for(t=0;t<10000;t++);
            goto loop;
            }
         else
            i=9;
            P4OUT&=~BIT2;
            URCTL1|=URXWIE;
         }
     }
     
}      
        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -