完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我采用SPI对外挂的flash(w25q256)读取ID,寄存器状态,但返回的都是0Xff,查找问题许久,但还是没有解决,我尝试把自动硬件从选关闭了、速率降低了,但还是不行因此想向各位前辈赐教,在此非常感谢各位前辈的斧正,关键代码如下:
void SYS_Init(void) { SYS_UnlockReg(); CLK_EnableXtalRC(CLK_PWRCTL_HIRCEN_Msk); CLK_WaitClockReady(CLK_STATUS_HIRCSTB_Msk); CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HIRC, CLK_CLKDIV0_HCLK(1)); CLK->PCLKDIV = (CLK_PCLKDIV_APB0DIV_DIV2 | CLK_PCLKDIV_APB1DIV_DIV2); /******硬件SPI控制器******/ CLK_SetModuleClock(SPI0_MODULE, CLK_CLKSEL2_SPI0SEL_PCLK1, MODULE_NoMsk); CLK_EnableModuleClock(SPI0_MODULE); SystemCoreClockUpdate(); //set PB multi-function pins for PWM0 channel 0~5 SYS->GPA_MFPL = (SYS->GPA_MFPL ~(SYS_GPA_MFPL_PA2MFP_Msk |SYS_GPA_MFPL_PA1MFP_Msk |SYS_GPA_MFPL_PA0MFP_Msk)) | (SYS_GPA_MFPL_PA2MFP_SPI0_CLK |SYS_GPA_MFPL_PA1MFP_SPI0_MISO |SYS_GPA_MFPL_PA0MFP_SPI0_MOSI); SYS_LockReg(); } void SPI_Init(void) { SPI_Open(SPI0, SPI_MASTER, SPI_MODE_0, 8, 4000000); SPI_DisableAutoSS(SPI0); } uint8_t SpiReadWriteData(uint8_t SendData) { SPI_WRITE_TX(SPI0, SendData); /***Check SPI0 busy status***/ while (SPI_IS_BUSY(SPI0)); /***Read received data***/ return SPI_READ_RX(SPI0); } void Read_Device_ID(void) { uint16_t ID; SPI_CS_0(); SpiReadWriteData(Device_ID); SpiReadWriteDatae(0x00); SpiReadWriteData(0x00); SpiReadWriteData(0x00); ID = SpiReadWriteData(0XFF); ID =( ID<<8)|SpiReadWriteData(0XFF); SPI_CS_1(); printf("Device_ID:%x\r\n",ID); } 在此,再次感谢各位前辈的赐教。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
188浏览 2评论
为什么DSP(数字信号处理)需要Q格式?q31、q15、q7 和 f32 是什么意思呢?
350浏览 2评论
请问NuMicro® Cortex-M0/M4系列可以提供哪些USB器件示例代码?
244浏览 2评论
芯片进入空闲或关机模式后,窗口看门狗定时器 (WWDT) 是否会继续工作呀?
193浏览 2评论
请问Nu-Link 驱动程序可以同时安装在 Keil RVMDK UV4 和 UV5 上吗?
224浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-12 03:27 , Processed in 0.478232 second(s), Total 41, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4639
