msp430 与nrf24l01硬件接口和msp430IO设置的问题

有用过430单片机编写过nrf24l01的程序的不?430IO口应该怎么设置,那个口设置为输入,哪个为输出?(用软件模拟SPI)我的程序代码如下,不知道对不对,我检测到n... 有用过 430单片机编写过nrf24l01的程序的不?430 IO口应该怎么设置,那个口设置为输入,哪个为输出?(用软件模拟SPI)
我的程序代码如下,不知道对不对,我检测到nrf24l01没正常工作。
//==============================================================================
#define RF24L01_CE_0 P1OUT &=~BIT4
#define RF24L01_CE_1 P1OUT |= BIT4
//=============================RF24L01_CSN端口==================================
#define RF24L01_CSN_0 P1OUT &=~BIT5
#define RF24L01_CSN_1 P1OUT |= BIT5
//=============================RF24L01_SCK======================================
#define RF24L01_SCK_0 P1OUT &=~BIT3
#define RF24L01_SCK_1 P1OUT |= BIT3
//=============================MISO端口=========================================
#define RF24L01_MISO_0 P1OUT&=~BIT2
#define RF24L01_MISO_1 P1OUT |= BIT2
//============================= RF24L01_MOSI端口================================
#define RF24L01_MOSI_0 P1OUT &=~BIT1
#define RF24L01_MOSI_1 P1OUT |= BIT1
//==========================IRQ状态============================================
#define RF24L01_IRQ_0 P1OUT&=~BIT6
#define RF24L01_IRQ_1 P1OUT|= BIT6

//===========================RF24L01端口设置==========================================
void RF24L01_IO_set(void)
{
P1DIR |= BIT2; P1DIR |= BIT1; P1DIR |= BIT4; P1SEL=0x00;
P1DIR |= BIT6; P1DIR |= BIT3; P1DIR |= BIT5; // P1IE&=~BIT1;
// P1IE&=~BIT6;
}
展开
 我来答
hwdz
推荐于2017-09-18 · TA获得超过7414个赞
知道大有可为答主
回答量:1801
采纳率:85%
帮助的人:1029万
展开全部
CE是控制收发状态的,MSP430上应该为输出方向。
CSN是SPI总线使能,是MCU控制24L01的接口状态的,应该用输出,不过一般如果没有多片共用SPI总线的话,完全可以不用控制,直接把CSN接死,就是24L01的SPI总线始终是使能的,这样做并不会增加24L01上的功耗,因为后边是用软件控制休眠的,除非还有别的SPI设备或IO复用并联在这组SPI端口上。所以MSP430上也应该为输出方向。
SCK是串行时钟,MSP430作主机时要提供时钟给24L01,所以也是输出方向。
MISO是主入从出,MSP430是主,24L01是从,所以MSP430要接收,是输入方向
MOSI相反,是主出从入,因此MSP430是输出方向
IRQ是中断,24L01在有状态改变(需要软件设定什么状态引起中断)时主动叫MCU用的,MSP430要使用一个IO来接收这个中断状态,所以要把对应的IO设置为输入方向,并且如果使用的不是查询式,而是真正的中断式操作时,应该把这个IO设置为中断使能,注意设置中断时应该先设置中断方向等参数,最后再开启,防止开启后的修改导致意外进入中断。
总结一下,除了MISO和IRQ以外,全部都是输出方向,其中IRQ除了设置为输入,可能还需要启用IO中断。
黄石佳诚家电维修
2013-11-19 · TA获得超过1427个赞
知道小有建树答主
回答量:1559
采纳率:93%
帮助的人:596万
展开全部
P1OUT &=~BIT4为输入,带&为输入,

P1OUT |= BIT4 为输出,带|为输出!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式