有谁用过W806的SPI slave模式

dianzishebeikaifa 2022-07-02 11:31:52

W806的SPI slave测试了一下,同样配置, spi的master模式能用,slave模式不能用,不能进入中断

主机配置:

static void SPI_Init(void)
{
    hspi.Instance = SPI;
    hspi.Init.Mode = SPI_MODE_MASTER;
    hspi.Init.CLKPolarity = SPI_POLARITY_LOW;
    hspi.Init.CLKPhase = SPI_PHASE_2EDGE;
    hspi.Init.NSS = SPI_NSS_HARD;
    hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_20;
    hspi.Init.FirstByte = SPI_LITTLEENDIAN;
    
    if (HAL_SPI_Init(&hspi) != HAL_OK)
    {
        Error_Handler();
    }
}

从机配置:

static void SPI_Init(void)
{
    hspi.Instance = SPI;
    hspi.Init.Mode = SPI_MODE_SLAVE;
    hspi.Init.CLKPolarity = SPI_POLARITY_LOW;
    hspi.Init.CLKPhase = SPI_PHASE_2EDGE;
    hspi.Init.NSS = SPI_NSS_HARD;
    hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_20;
    hspi.Init.FirstByte = SPI_LITTLEENDIAN;
    
    if (HAL_SPI_Init(&hspi) != HAL_OK)
    {
        Error_Handler();
    }
}
 

...全文
408 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
校园智能路灯设计方案 设计名称 基于NRF24L01的校园智能路灯初步粗略设计方案 摘要 近年来,低碳生活,节能减排越来越受到国家的大力支持,在校园生活中平均一盏路灯的功率在200W-300W之间,每晚大概需要点亮时长为18:00--5:00,粗略的计算会发现每盏路灯的功耗大概在2.2--3.3kW·h,学校大多用电平局一度电在0.55元左右,因此,每晚一盏路灯所产生的电费大概在1.2--1.8元左右,大学校园犹如一个小城市,每个学校的路灯至少上百盏,路灯的数量有的会达到上千盏甚至更多。这给学校每天的开销带来了一部分没必要的浪费。 节约校园照明用电消耗成为响应国家对于节能号召的重要措施之一。一般的校园照明系统只是运用普通的声控及光控传感器组成开环的控制系统,其灵活性差,功耗大,不可人为干预。而市场上闭环控制的照明系统投入资金大,稳定性差,无法在校园中得到推广。 校园智能路灯设计方案全文共33页,当前为第1页。设计目的 校园智能路灯设计方案全文共33页,当前为第1页。 了解NRF24L01的基本通信原理 掌握stm32f103芯片的AD转换原理 熟练掌握光敏电阻的应用 将本学年所学知识进行一次综合汇总 设计原理 系统的设计主要有以下四个模块部分:微控制器STM32,光敏电阻模块, LED照明电路.无线射频模块。 其中光敏电阻模块与LED照明电路组成检测照明部分,主要负责检测外界光的强度,人流高峰期会默认开启普通照明模式,夜间会默认开启节能模式。 微控制器STM32负责收集采集数据,以及AD转换,通过串口向PC机发送消息。 校园智能路灯设计方案全文共33页,当前为第2页。无线射频模块负责向主机传递信息,当从机照明电路出现错误时会触发射频模块发射数据,不同从机对应不同数据。发送完成结束传输。 校园智能路灯设计方案全文共33页,当前为第2页。 本设计的设计要求 (1).综合考虑选择是一主多从还是一从多主。 (2).硬件设计上应该考虑到滤波的重要性,结构尽量简单实用,易于实现,使系统电路尽量简单。 (3).软件设计必须要有完善的思路,要充分考虑到各种传感器和无线收发器的时序,做到程序简单,调试方便。 (4).通过软件设计尽量降低无线数据传输的误码率 2.主要硬件介绍 (1).NRF24L01无线模块简介 各管脚如下定义: 8.IRQ 7.MISO 6.MOSI 5.SCK 4.CSN 3.CE 2.VCC 1.GND 具体说明: 校园智能路灯设计方案全文共33页,当前为第3页。3.CE 芯片的模式控制线。在 CSN 为低的情况下,CE 协同NRF24L01 的CONFIG 寄存器共同决定NRF24L01 的状态(参照NRF24L01 的状态机)。 校园智能路灯设计方案全文共33页,当前为第3页。 4.CSN 为芯片的片选线 CSN 为低电平芯片工作 5.SCK 为芯片控制的时钟线(SPI时钟) 6.MOSI 为芯片控制数据线(Master output slave input) 主输出 从输入 7.MISO 芯片控制数据线 (Master input slave output)主输入 从输出 8.IRQ 中断信号引脚。中断时变为低电平,即NRF24L01内部发生中断时IRQ 引脚从高电平变为低电平。引脚会在以下三种情况变低:Tx FIFO 发完并且收到ACK(使能ACK情况下)、Rx FIFO 收到数据、达到最大重发次数。 中断: nRF24L01 的中断引脚(IRQ)为低电平触发,当状态寄存器中TX_DS(数据发送完成中断位)、RX_DR(接收数据中断位) 或MAX_RT(达到最多次重发中断位)为高时触发中断。当MCU 给中断源写'1'时,中断引脚被禁止。可屏蔽中断可以被IRQ 中断屏蔽。通过设置可屏蔽中断位为高,则中断响应被禁止。默认状态下所有的中断源是被禁止的。 校园智能路灯设计方案全文共33页,当前为第4页。 校园智能路灯设计方案全文共33页,当前为第4页。 系统结构框图如下所示 检测照明部分检测照明部分检测照明部分 检测照明部分 检测照明部分 检测照明部分 STM32微控制器 STM32 微控制器 STM32微控制器STM32微控制器 STM32 微控制器 STM32 微控制器 ...... ...... NRF24L01发射或接收NRF24L01发射或接收NRF24L01发射或接收 NRF24L01发射或接收 NRF24L01发射或接收 NRF24L01发射或接收 校园智能路灯设计方案全文共33页,当前为第5页。 校园智能路灯设计方案全文共33页,当前为第5页。 NRF24L01通道 NRF24L01通道 五.设计原理 NRF24L01工作原理 发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_AD

357

社区成员

发帖
与我相关
我的任务
社区描述
联盛德微电子技术交流,物联网AIOT技术交流
物联网 企业社区
社区管理员
  • WinnerMicro
  • 龚超375
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

3月中旬会有W800的最新开发板,对联盛德的铁杆粉丝们有特别优惠价。

开发板包含:

1 W800 芯片(240Mhz主频  WIFI&BLE双模)

2  申矽凌提供的温湿度传感芯片:CHT8305CDNR

3  苏州顺芯半导体提供的ES8311 Codec

4  USB转串口芯片CH340(做调试和下载程序用)

5  三色LED灯

开发板可用来demo以下功能

1  温湿度的本地读取

2  三色灯的本地控制

3  文字转语音TTS功能(科大讯飞提供的算法)

4  连接涂鸦云远程控制三色灯

5  连接阿里云远程控制三色灯

6  连接涂鸦云远程读取温湿度

7  连接阿里云远程读取温湿度

试试用AI创作助手写篇文章吧