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

📄 main.c

📁 是MSP430F2274的源代码
💻 C
字号:
#include "msp430x22x4.h"
//此程序是USCIA0的SPI模式中断方式的从机程序
//首先按下图连接好导线,在启动主机程序前先启动从机程序,调试主机程
//然后再启动主机程序,从机程序将每次收到的数据回发给主机
//                 MSP430F2274                      MSP430F2274 
//                     master                        slavor
//             -----------------                     -----------------
//         /|\|              XIN|-                  -|XIN             |/|\
//          | |                 |                    |                | |
//          --|RST          XOUT|-                  -|XOUT         RST|--
//            |                 |                    |                |
//            |             P1.0|-->LED        LED<--|                | 
//            |     p3.0UCA0CLK |------------------->|P3.0            |  
//            |     p3.4UCA0SIMO|------------------->|p3.4UCA0SIMO    |
//            |     P3.5UCA0SOMI|<-------------------|P3.5UCA0SOMI    |
//            |             DVSS|--------------------|DVSS            | 
int main( void )
{
  WDTCTL=WDTPW+WDTHOLD;                   //关看门狗
  BCSCTL1 =CALBC1_1MHZ;                   //设定DCO为1MHZ
  DCOCTL =CALBC1_1MHZ;
  P1DIR |=BIT0;                           //使能LED
  P3SEL |=BIT4+BIT5+BIT0;                 //p3.4为SIMO,P3.5为SOMI,P3.0为UCA0CLK
  P3DIR |=BIT5;                           //P3.5为输出方向
  UCA0CTL0 |=UCSYNC+UCCKPL+UCMSB;         //spi从机模式,时钟极性选为高电平无效,选择最高有效位先发 
  UCA0CTL1 &=~UCSWRST;                    //进入spi工作模式
  IE2 |=UCA0RXIE;                         //使能接收中断
  _BIS_SR(GIE+LPM3_bits);                 //使能总中断并进入低功耗3    
  return 0;  
}
#pragma vector=USCIAB0RX_VECTOR           //spi接收中断服务
__interrupt void rx_isr(void)
{
  while(!(UCA0TXIFG&IFG2));               //查询发送标志位
  UCA0TXBUF=UCA0RXBUF;                    //将接收缓存器的数据放入发送缓存里
  P1OUT ^=BIT0;                           //led翻转
}

⌨️ 快捷键说明

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