完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
/*****************SPI时序函数******************************************/
unchar NRFSPI(unchar date) { unchar i; for(i=0;i<8;i++) // 循环8次 { if(date&0x80) MOSI=1; else MOSI=0; // byte最高位输出到MOSI date<<=1; // 低一位移位到最高位 SCLK=1; if(MISO) // 拉高SCK,nRF24L01从MOSI读入1位数据,同时从MISO输出1位数据 date|=0x01; // 读MISO到byte最低位 SCLK=0; // SCK置低 } return(date); // 返回读出的一字节 } /*****************SPI读取RXFIFO寄存器的值********************************/ unchar NRFReadRxDate(unchar RegAddr,unchar *RxDate,unchar DateLen) { //寄存器地址//读取数据存放变量//读取数据长度//用于接收 unchar BackDate,i; CSN=0;//启动时序 BackDate=NRFSPI(RegAddr);//写入要读取的寄存器地址 for(i=0;i RxDate[i]=NRFSPI(0); //??????????????????????????????????????????????????? } CSN=1; return(BackDate); } 上面标注问号的是疑问之处,在写入要读取的寄存器地址,要读取数据,但是要调用函数NRFSPI要加形势参数,于是NRFSPI(0)。但是,NRFSPI(0)不是向NRF24L01发操作命令要读取config寄存器的数据吗? 数据手册 操作命令:R_REGISTER 000A AAAA 读配置寄存器; 那么在写完之后的下一个循环里,又一次NRFSPI(0),读到的应该是config寄存器的值,如此循环下去,读到的都会是config寄存器的值啊?????? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
物联网工程师必备:怎么选择不同的无线连接技术,本指南帮你忙!
3120 浏览 1 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】WIFI功能测试
3765 浏览 0 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】Arduino的替代SublimeText3+STino
3277 浏览 0 评论
使用端口扩展器轻松高效地向IIoT端点添加具有成本效益的子节点
3812 浏览 1 评论
20350 浏览 11 评论
模组有时候复位重启后输出日志为“REBOOT_CAUSE_SECURITY_PMU_POWER_ON_RESET”的原因?
469浏览 2评论
447浏览 2评论
2839浏览 1评论
518浏览 1评论
589浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-30 14:25 , Processed in 0.836260 second(s), Total 81, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号