📄 msp430_ctrl.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 + -