|
msp430的si4432调试程序
/*
* Copyright (c) 2011,
* All rights reserved.
*
* 当前版本:1.0
* 作者:534117529
* 开始日期:2011年8月10日
*
*/
#include <msp430x14x.h>
#include<string.h>
#include"uart0.h"
#include"spi.h"
#include"rf4432.h"
#define uchar unsigned char
#define uint unsigned int
#define LampOn P1OUT|=BIT1
#define LampOff P1OUT&=~BIT1
#define btn_press (P1IN&BIT0) //p1_0口为按键输入口
//-------------------------------------------射频芯片相关定义--------------------------------
unsigned char RF4432_RxBuf[RF4432_RxBuf_Len];
unsigned char RF4432_TxBuf[RF4432_TxBuf_Len]={0x30,0x31,0x32,3,4,5,6,7,8,9};
unsigned char A[RF4432_TxBuf_Len];
/////////////////////////////////////////////////////////////////
// RF4432_SDI=1; //SPI数据输入
// RF4432_SCLK=1; //SPI时钟输入端口
// RF4432_SEL=1; //SPI片选
// RF4432_SDI=0; //SPI数据输入
// RF4432_SCLK=0; //SPI时钟输入端口
// RF4432_SEL=0; //SPI片选
////////////////////////////////////////////////////////////////////
void init_Device(void)
{
P1DIR|=BIT1;//LED口的方向
InitUART();
SPI_Init();
RF4432_Init();
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
unsigned char i;
LampOn;
init_Device();
UART_Send_Str("初始化完毕....\n");
RF4432_SetRxMode(); //设置成接收模式
UART_Send_Str("模块处于接收状态....\n");
while(1)
{
if(RF4432_RxPacket())
{
RF4432_ReadBurestReg(FIFO_ACCESS,RF4432_RxBuf,RF4432_RxBuf_Len);
for(i=0;i<RF4432_RxBuf_Len;i++)
{
UART_Send_Byte(RF4432_RxBuf); //向串口发送接收到的数据
delay_10us(10);
}
RF4432_SetRxMode(); //设置成接收模式
UART_Send_Str("成功接收完毕,恢复到接收状态....\n");
}
LampOn; delay(50) ;LampOff;delay(50) ;
if(btn_press==0)
{
while(btn_press==0);
UART_Send_Str("按键被按下,开始发送....\n");
RF4432_TxPacket();
RF4432_SetRxMode(); //设置成接收模式
UART_Send_Str("发送完毕,恢复到接收状态....\n");
}
}
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|