发 帖  
[问答]

如何使用SPI1链接NRF24L01

693 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 评论

举报

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

471个成员聚集在这个小组

加入小组

创建小组步骤

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

电子发烧友网

电子发烧友论坛

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

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

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

威廉希尔官方网站 社区

HarmonyOS威廉希尔官方网站 社区

RISC-V MCU威廉希尔官方网站 社区

FPGA开发者威廉希尔官方网站 社区

张飞电子威廉希尔官方网站 社区

-

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论坛

测试测量威廉希尔官方网站

传感威廉希尔官方网站

-

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

项目外包

供需及二手交易

工程师杂谈|交友

招聘|求职|工程师职场

-

官方社区

发烧友官方/活动

华秋商城

华秋电路