完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
#include
#include #define WRITE_REG 0x20//写操作+寄存器地址 #define READ_REG 0x00 // Define read command to register #define STATUS 0x07 // 'Status' register address /***定义相应I/O口***/ ***it CE = P3^0; ***it CSN= P3^1; ***it SCK= P3^2; ***it MOSI= P3^3; ***it MISO= P3^4; ***it IRQ = P3^5; typedef unsigned char uchar; typedef unsigned int uint; /*延时函数*/ void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=120;y>0;y--); } /*根据SPI协议,写一字节数据到nRF24L01,同时从nRF24L01读出一字节 */ uchar SPI_RW (uchar dat) { //CSN=0;SCK=0; uchar i; for (i=0; i<8; i++); { delay(1); MOSI=(dat&0x80); //从最高位开始 dat<<=1;//左移一位 SCK=1; dat|=MISO;//读状态 SCK=0; } return dat; } /*读取一个字节*/ uchar SPI_Read (uchar reg) { uchar value; CSN=0; SPI_RW(reg);//写一条寄存器指令 value=SPI_RW(0); CSN=1; return value; } void main() { //初始化24l01 delay(1); CSN=1; SCK=0; IRQ=1; CE=0; P1=SPI_Read(Read_REG+STSTUS);//读取STATUS寄存器的状态,P1口接LED灯 } |
|
相关推荐
2个回答
|
|
|
我先检查发射端有没有问题,我读取21L01 某些寄存器的状态,然后反应到led灯上,结果灯无论怎样都是亮的,说明通信没有建立?
|
|
|
|
|
|
检查了电路连接,也反复看了程序,可是还是没有找到问题,能帮帮忙嘛?
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
140 浏览 0 评论
483 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
815 浏览 0 评论
1346 浏览 2 评论
804 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16903 浏览 31 评论
浏览过的版块 |
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 18:49 , Processed in 0.590177 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1069