发 帖  
[问答]

如何使用SPI1链接NRF24L01

845 SPI

        
[C] 纯文本查看 复制代码
// SPI1 用于访问 NRF24L01void SPI1_Init(void){  GPIO_InitTypeDef GPIO_InitStructure;  SPI_InitTypeDef SPI_InitStructure;  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOE, ENABLE); // PORTA,E 时钟使能   RCC_APB1PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);                // SPI1 时钟使能     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; // 分别对应 SCK、MISO、MOSI 三个引脚  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;                     // PA5/6/7复用推挽输出   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  GPIO_Init(GPIOA, &GPIO_InitStructure);                              // 初始化GPIOA  GPIO_SetBits(GPIOA, GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7);          // PA5/6/7上拉    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;                           // PE6,VS1053 复位  GPIO_Init(GPIOE, &GPIO_InitStructure);  GPIO_ResetBits(GPIOE, GPIO_Pin_6);                                  // 复位 VS1053  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;  // SPI设置为双线双向全双工  SPI_InitStructure.SPI_Mode = SPI_Mode_Master;                       // SPI主机  SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;                   // 发送接收8位帧结构  SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;                          // 时钟悬空低  SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;                        // 数据捕获于第1个时钟沿  SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;                           // NSS信号由软件控制  SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16; // 定义波特率预分频的值:波特率预分频值为16  SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;                  // 数据传输从MSB位开始  SPI_InitStructure.SPI_CRCPolynomial = 7;                            // CRC值计算的多项式  SPI_Init(SPI1, &SPI_InitStructure);                                 // 根据SPI_InitStruct中指定的参数初始化外设SPIx寄存器  SPI_Cmd(SPI1, ENABLE); // 使能SPI外设  SPI1_ReadWrite(0xFF);  // 启动传输     }

               


main 方法里涉及到 NRF 初始化的部分
               


               
[C] 纯文本查看 复制代码
  SPI1_Init(); // 被 WIRELESS_Init 依赖  WIRELESS_Init();  oDebug("初始化:无线射频...");  if(WIRELESS_CheckDevice() == TRUE)    oDebug("成功rn");  else    oDebug("失败rn");
               
始终报失败
               


                        

               

0
2020-6-9 04:35:34   评论 分享淘帖 邀请回答 举报
2个回答
2020-6-9 09:12:38 评论

举报

2020-6-9 09:46:23 评论

举报

只有小组成员才能发言,加入小组>>

493个成员聚集在这个小组

加入小组

创建小组步骤

快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@huaqiu.com
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表
-

厂商专区

飞凌嵌入式

瑞萨单片机论坛

米尔电子

Aigtek安泰电子

斯丹麦德电子

芯佰微电子

其利天下技术小组

道生物联技术社区

视美泰

FCom富士晶振

大大通

合众恒跃

进迭时空

RT-Thread论坛

EASY-EAI灵眸科技

-

技术社区

张飞电子技术社区

KaihongOS技术社区

FPGA开发者技术社区

RISC-V MCU技术社区

HarmonyOS技术社区

-

OpenHarmony开源社区

OpenHarmony开源社区

-

嵌入式论坛

ARM技术论坛

STM32/STM8技术论坛

嵌入式技术论坛

单片机/MCU论坛

RISC-V技术论坛

瑞芯微Rockchip开发者社区

FPGA|CPLD|ASIC论坛

DSP论坛

-

电路图及DIY

电路设计论坛

DIY及创意

电子元器件论坛

专家问答

-

电源技术论坛

电源技术论坛

无线充电技术

-

综合技术与应用

机器人论坛

USB论坛

电机控制

模拟技术

音视频技术

综合技术交流

上位机软件(C/Python/Java等)

-

无线通信论坛

WIFI技术

蓝牙技术

天线|RF射频|微波|雷达技术

-

EDA设计论坛

PCB设计论坛

DigiPCBA论坛

Protel|AD|DXP论坛

PADS技术论坛

Allegro论坛

multisim论坛

proteus论坛|仿真论坛

KiCad EDA 中文论坛

DFM|可制造性设计论坛

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术

传感技术

-

招聘/交友/外包/交易/杂谈

项目外包

供需及二手交易

工程师杂谈|交友

招聘|求职|工程师职场

-

官方社区

发烧友官方/活动

华秋商城

华秋电路

+

元器件搜索引擎

元器件搜索引擎