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

📄 spi.c

📁 msp430x44x系列单片机的SPI操作
💻 C
字号:
////////////////////////////////////////////////////////////////////////////
////   Copyright (c) Siargo,Ltd.                                        ////
////////////////////////////////////////////////////////////////////////////
////                                                                    ////
////   FileName: uart.C                                                 ////
////   Author:  FENG YONG                                               ////
////   Version:                                                         ////
////   Date:  06/07/2006                                                ////
////   Description:                                                     ////
////   Function List:                                                   ////
////            void set_uart_speed (unsigned int baudRate,             ////
////                                 unsigned char dataBit,             ////
////                                 unsigned char parity,              ////
////                                 unsigned char stopBit)             ////
////                                                                    ////
//// ------------------------------------------------------------------ ////
////   History:  														               ////
////           filename: uart.C                                         ////
////           author: FENG YONG   			                              ////
////           version: V10  											            ////
////           time: 06/07/2006      									         ////
////           desc:                                                    ////
////            void set_uart_speed (unsigned int baudRate,             ////
////                                 unsigned char dataBit,             ////
////                                 unsigned char parity,              ////
////                                 unsigned char stopBit)             ////
////                                                                    ////
////          --------------------------------------------------------- ////
////                                                                    ////
////////////////////////////////////////////////////////////////////////////
////        (C) Copyright 1996,1997 Custom Computer Services            ////
//// This source code may only be used by licensed users of the IAR C   ////
//// compiler for MSP430(IAR Embedded Workbench MSP430). No other use,  ////
//// reproduction or distribution is permitted without written          ////
//// permission. Derivative programs created using this software in     ////
//// object code form are not restricted in any way.                    ////
////////////////////////////////////////////////////////////////////////////

#include <msp430x44x.h>
#include "spi.h"


/*****************************************************************************
 Function: void SPI0Init(void)
 Description: UART异步串行通讯程序。使用USART0。
              LFXT1:32.768kHz
          Parity :
             NONE     (0x00)
             ODD      (0x80)
             EVEN     (0xc0)
 Calls:
 Calls By:
 Table Accessed:
 Table Updated:
 Input:
 Output:
 Return:
 Others:     
*********************************************************************************/
void SPI0Init(void)
{
    P3SEL |= BIT1 + BIT2 +BIT3;                // 设置管脚为第二功能
    P3DIR |= BIT1 + BIT3;                      // 设置管脚为输出
     
    // select UCLK = SMCLK
    UCTL0  = CHAR + SWRST + SYNC + MM;         // 8bit SPI master mode
    UTCTL0 = CKPL + SSEL1 + SSEL0 + STC;       // 
    UBR00  = 0x03;                             // SMCLK / (UBR + (UMCTL1/8))  
    UBR10  = 0;
    UMCTL0 = 0x08;         
    UCTL0 &= ~SWRST;
    ME1   |= USPIE1;                          // open SPI module   
}


/*****************************************************************************
 Function: void SPI1Init(void)
 Description: UART异步串行通讯程序。使用USART0。
              LFXT1:32.768kHz
          Parity :
             NONE     (0x00)
             ODD      (0x80)
             EVEN     (0xc0)
 Calls:
 Calls By:
 Table Accessed:
 Table Updated:
 Input:
 Output:
 Return:
 Others:     
*********************************************************************************/
void SPI1Init(void)
{
    P4SEL |= BIT3 + BIT4 +BIT5;                // 设置管脚为第二功能
    P4DIR |= BIT3 + BIT5;                      // 设置管脚为输出
     
    // select UCLK = SMCLK
    UCTL1  = CHAR + SWRST + SYNC + MM;         // 8bit SPI master mode
    UTCTL1 = CKPL + SSEL1 + SSEL0 + STC;       // 
    UBR01  = 0x03;                             // SMCLK / (UBR + (UMCTL1/8))  
    UBR11  = 0;
    UMCTL1 = 0x08;         
    UCTL1 &= ~SWRST;
    ME2   |= USPIE1;                           // open SPI module   
}

⌨️ 快捷键说明

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