完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现在使用psoc6. 发现spi口。 在进入deepsleep模式前,我想降低功耗,将spi口配置为高阻态模式:
//---------------------------------------------------- Cy_GPIO_SetDrivemode( SPI_GSensor_sclk_m_PORT, SPI_GSensor_sclk_m_NUM,CY_GPIO_DM_ANALOG); Cy_GPIO_SetDrivemode( SPI_GSensor_mosi_m_PORT, SPI_GSensor_mosi_m_NUM,CY_GPIO_DM_ANALOG); Cy_GPIO_SetDrivemode( SPI_GSensor_miso_m_PORT, SPI_GSensor_miso_m_NUM,CY_GPIO_DM_ANALOG); Cy_GPIO_SetDrivemode( SPI_GSensor_ss0_m_PORT, SPI_GSensor_ss0_m_NUM,CY_GPIO_DM_ANALOG); Cy_SysPm_DeepSleep(CY_SYSPM_WAIT_FOR_INTERRUPT); BMI270_SPI_Init(); //------------------------------------------------------- void BMI270_SPI_Init( void ) { Cy_SCB_SPI_Init(SPI_GSensor_HW, SPI_GSensor_config, NULL); Cy_SCB_SPI_SetActiveSlaveSelect(SPI_GSensor_HW, SPI_GSensor_SPI_SLAVE_SELECT0); /* Unmasking only the spi done interrupt bit */ SPI_GSensor_HW->INTR_M_MASK = SCB_INTR_M_SPI_DONE_Msk; /* Configure User ISR */ Cy_SysInt_Init( ISR_SPI2_cfg, ISR_SPI2 ); /* Enable the interrupt */ NVIC_EnableIRQ( ISR_SPI2_cfg.intrSrc ); Cy_SCB_SPI_Enable(SPI_GSensor_HW); } //----------------------------------------------------------- 我发现一个问题就是我如果在进入睡眠前配置了spi的口为高阻态,在睡眠唤醒后,我的spi重新初始化也无法正常工作。 读到的设备数据异常。 我在程序中屏蔽掉配置高阻态的代码才能正常工作,请问是否我在睡眠唤醒后需要从新配置一下io口,在哪里配置,有参考代码吗? |
|
相关推荐
1个回答
|
|
SCB组件管脚在低功耗模式下可能会造成漏电流,如RX脚上的未知电平,因此需要在进入低功耗模式之前将RX配置为阻性上/下拉模式,CLK/CS需要视情况配置为Analog High-Z, 唤醒后再配回原来的模式,如果PSoC 6 SPI做主设备,CLK/CS也可以不用配置,你可以试下。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
202 浏览 0 评论
556 浏览 2 评论
ESP32开发中,使用ADF环境,系统报错I2C Bus WriteReg Error和I2C Bus ReadReg Error
495 浏览 1 评论
在ZYNQ上跑超炫酷GUI!手把手教你移植LVGL到ZYNQ平台!
709 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之FLEXCAN
888 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12463 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-7 05:19 , Processed in 0.907269 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191