关于nRF24L01的一个新手问题 (好答案有追加)

大家好,我刚开始学习nRF,是个菜鸟,有个很简单的问题想要请教大神们:下面这个函数中有几句代码我不太理解,为什么要把MOSI的最高位置1,temp又是干嘛用的?最好能全名... 大家好,我刚开始学习nRF,是个菜鸟,有个很简单的问题想要请教大神们:

下面这个函数中有几句代码我不太理解,为什么要把MOSI的最高位置1,temp又是干嘛用的? 最好能全名讲讲
/****************************************************************************************************
函数:uint SPI_RW(uint uchar)
功能:NRF24L01的SPI写
***************************************************************************************************/
char SPI_RW(char data)
{
char i,temp=0;
for(i=0;i<8;i++) // output 8-bit
{
if(data & 0x80)
{
Hign_24L01_MOSI ; // output 'uchar', MSB to MOSI
}
else
{
Low_24L01_MOSI;
}
data = (data << 1); // shift next bit into MSB..
temp<<=1;
Hign_24L01_SCK ; // Set SCK high..
if(Read_24L01_MISO )temp++; // capture current MISO bit
Low_24L01_SCK; // ..then set SCK low again
}
return(temp); // return read uchar
}
展开
 我来答
lpyzzxl
2011-07-27 · TA获得超过842个赞
知道小有建树答主
回答量:211
采纳率:66%
帮助的人:98.4万
展开全部
以前用过nRF24L01有段时间没用了哈,我只能给你一些参考意见:
1.为什么要把MOSI的最高位置1。
这段程序读了一遍之后,其实你仔细看,并没有哪儿把MOSI置位哦,可能出现误解的是"Hign_24L01_MOSI"语句和"Low_24L01_MOSI",其实他们只是在进行output high 或者low 没有进行置位操作。何况置位MOSI有什么用呢?MOSI不是控制脚,是数据流啊。

2.关于temp。
这里temp起到的作用就是把读进来的数据存一个“备份”到temp里,最后通过return语句把读到的data反馈回去。
具体进行这个操作的语句是:"temp<<=1; "和"if(Read_24L01_MISO )temp++;"你理解一下,这个表达是正确的,只是和一般思路不同,用的是位操作的方法。注:temp里面是01序列,位操作左移或右移时会自动补0.

3.其他意见。
一开始我学习的时候也很痛苦,没办法,但是跟你说一个我认为的捷径——搞懂时序图。你仔细看nRF的datasheet,尤其是时序部分,相信你会有很大的收获的。

好了,希望我的回答对你有所帮助~ ^_^
追问
谢谢您的回答,关于1还有些小不懂:
if(data & 0x80)
{
Hign_24L01_MOSI ; // output 'uchar', MSB to MOSI
}
else
{
Low_24L01_MOSI;
}
这些语句的意思是》? MOSI是多少还data的最高位是不是1有关?(我说mosi最高位置1是看注释那么写的。。)
追答
if(data & 0x80) 语句是将data的最高位和二进制数10000000作“与”运算,换言之,即判断data的最高位是否是1,是表达式返回真,否则为假。
当表达式"data & 0x80"为真时,MOSI置1,其实就是把最高位1输出了。同理:
当表达式"data & 0x80"为假时,MOSI置0,事实上即是把最高位0输出了。
综上,这些语句是用来输出data的。
富港检测东莞有限公司
2024-12-25 广告
ISTA3L是一个基于研究、数据驱动的测试协议,它模拟了由零售公司完成的产品订单被直接运送给消费者时所经历的危险,它允许用户评估包装产品的能力,以承受运输和处理包装产品时所经历的供应链危险,从接收到任何电子商务零售商履行操作,直到最终消费者... 点击进入详情页
本回答由富港检测东莞有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式