HC32L13x官方提供的demo中SPI例程的时钟问题
hc32l13x_ddl_Rev1.9.2 Lite\example\spi该历程中的程序有几个疑问:1)、例程初始化未选择和设置系统时钟频率,没有初始化默认是多少呢?选择的是什么时钟源呢? 2)、修改此demo驱动SX1278芯片时出现“while(Spi_GetStatus(M0P_SPI0, SpiTxe) == FALSE); //等待发送缓冲器空”和“while(Spi_GetStatus(M0P_SPI0, SpiTxe) == FALSE); //等待发送缓冲器空”死循环问题,将判断状态由“SpiTxe,SpiRxne”改为“SpiBusy”规避了死循环,但是读出的数据全都是0,怀疑问题问题出在时钟上,还请各路大神指点一二 我来结贴了!针对我的问题,查阅资料,手册最终调试成功,出现问题的原因应该是片选引脚,也重新配置了时钟之前使用的是默认的4M时钟,将时钟修改为48M设置好对应的分频系数。关于片选->手册中有这样一句话(– 在传输过程必需设置 SPIx_SSN.ssn 为 0,传输完成后必需设置 SPIx_SSN.ssn 为 1。)受此启发对片选重新设置后能实现通信,最后由于我移植的是stm32f103系列单片机的程序,时钟是72M的,HC32我配置为48M,定时器又重新修改了一下。最终实现了移植前平台的效果。 这个是咋回事呢?持续关注这个帖子。第一,关于时钟,用户手册的系统控制章节写明了,默认是RCH,如果什么都没配置,那么在进入main之前的systeminit.c里面有加载RCH 4MHz的语句。
第二,楼主改逻辑之前,建议多看看SPI协议和寄存器标志的意义 哈哈,开悟就在一瞬间 大佬,我也是,卡在这里了,可否分享一下代码{:handshake:} martinhu 发表于 2021-6-11 11:21
第一,关于时钟,用户手册的系统控制章节写明了,默认是RCH,如果什么都没配置,那么在进入main之前的syste ...
如果一直寄存器nss一直拉低会怎样?
页:
[1]