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

📄 msp430_ctrl.c

📁 基于TI公司的CC1020芯片的无线通讯程序,程序的MCU是TI公司的MSP430系列。
💻 C
字号:
#include "global.h"
#include "cc1020.h"
#include "msp430x14x.h" 

void clk_init(void)
{
//   DCOCTL = //DCO0+DCO1+DCO2;
   BCSCTL1 = XT2OFF+RSEL2+RSEL1+RSEL0;
   BCSCTL2 = DIVS_3;
}

void spi_init(void)
{
   UCTL0 &= ~SWRST;
   U0CTL = CHAR+SYNC+MM; 
   U0TCTL = STC+SSEL0+SSEL1;
   U0BR0 = BIT0+BIT1;
   U0BR1 = 0x0;
   U0MCTL = 0x0;
   ME1 |= USPIE0;   
   IE1 |= UTXIE0;
   IE1 |= URXIE0;
   
   P3SEL |= BIT0+BIT1+BIT2+BIT3;     //0x0F
   P3DIR |= BIT1+BIT3;               //0x0A;
   
   P4OUT |= BIT6;
   P4SEL = 0;
   P4DIR |= BIT6;
}

void port_init(void)
{
   P2IES |= BIT2;
   P2IE |= BIT2;
   P6DIR |= BIT0+BIT1;
   P2DIR &= ~BIT3;
}

void spi_wr(char addr,char data)
{
   char txbuf;
   
   txbuf = addr << 1;
   txbuf |= BIT0;
   P4OUT &= ~BIT6;
   SPI_RX_OK = 0;
   SPI_TX_OK = 0;
   TXBUF0 = txbuf;
   while(!SPI_TX_OK);
   while(!SPI_RX_OK);
   SPI_TX_OK = 0;
   SPI_RX_OK = 0;
   TXBUF0 = data;
   while(!SPI_TX_OK);
   while(!SPI_RX_OK);
   delay(1);
   P4OUT |= BIT6;
}

char spi_rd(char addr)
{
   char txbuf;
   
   txbuf = addr << 1;
   txbuf &= ~BIT0;
   P4OUT &= ~BIT6;
   SPI_RX_OK = 0;
   SPI_TX_OK = 0;
   TXBUF0 = txbuf;
   while(!SPI_TX_OK);
   while(!SPI_RX_OK);
   SPI_RX_OK = 0;
   TXBUF0 = 0;
   while(!SPI_RX_OK);
   delay(1);
   P4OUT |= BIT6;
   return RXBUF0;
}

void timea_init(int interval)
{
   TACTL = TASSEL0|MC0|TAIE;
   TACCR0 = interval;
}

⌨️ 快捷键说明

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