edan_lee 发表于 2021-4-24 16:27

HC32L130J8使用经验

本帖最后由 edan_lee 于 2021-4-25 08:51 编辑

      最近搞到一小批HC32L130J8TA用到产品上,原来用的是STM32F030C8T6。因为第一脚接了电容并用了二极管接入VCC,所以可以不需要重新画板,只需要把二极管取下就可以硬件兼容。现在已经调试完成,下面讲讲我的经验。
      1、华大的这个版本的低功耗做得很好,静态功耗好低。这个必须要点赞。对于一些代码量大的应用着实不好。
      2、SPI的读驱动要加delay实在让我困惑,实际上我也是抄了这个例程。
while(Spi_GetStatus(M0P_SPI0, SpiTxe) == FALSE);    //等待发送缓冲器空
      Spi_SendData(M0P_SPI0, 0);                        //发送空数据
      delay10us(20);
      while(Spi_GetStatus(M0P_SPI0, SpiRxne) == FALSE);
      rx_buf = Spi_ReceiveData(M0P_SPI0);      3、ADC用10位貌似才比较可靠,12位的结果需右移2位。
      4、休眠例程中的休眠参数用了“TRUE",在这里掉了个坑,我的应用是系统周期唤醒检测一些状态然后在返回休眠。如果休眠参数用了"TRUE"则只会处理中断中的任务然后直接返回休眠。把参数"改成FALSE"就可以了。这也是因为没有仔细看库里的注释。希望后来人可以避免这个问题。      5、关闭串口,不像其它产品有一个enable位。这个产品上要关闭串口,只需要关闭CLK,并且把串口的I/O重新配置一下就可以。
      6、失能ADC的同时需要失能BGR模块,否则会有40uA左右的功耗。
      7、串口失能I/O输出低电平到配置为串口状态会收到一个数据。
      其它功能没有使用到,不知如何。

lrzxc1 发表于 2021-4-24 16:54

谢谢分享经验

linguanghua 发表于 2021-4-25 14:00

我用HC32L130J8TA做低功耗,最低只能做到20ua,不知道怎么搞。按手册能做到1ua,差得太远。

edan_lee 发表于 2021-5-25 14:27

linguanghua 发表于 2021-4-25 14:00
我用HC32L130J8TA做低功耗,最低只能做到20ua,不知道怎么搞。按手册能做到1ua,差得太远。 ...

再仔细看下商品,还有其它模块,看是不是没有配置正确

两只袜子 发表于 2021-5-25 16:13

多借鉴他人经验少踩坑

myl1949101 发表于 2021-8-26 17:15

问个问题,我在使用HC32L130时,测试发现从上电开始到开始运行main()函数需要180多ms?问下是怎么回事?不知道你应用时有没有这个问题?

edan_lee 发表于 2021-11-20 11:16

myl1949101 发表于 2021-8-26 17:15
问个问题,我在使用HC32L130时,测试发现从上电开始到开始运行main()函数需要180多ms?问下是怎么回事?不 ...

没有测试这个数据

asmine 发表于 2021-12-27 15:30

这是使用总结啊~~赞

麻花油条 发表于 2021-12-29 10:47

赞赞赞,要多学习别人的经验总结

华大单片机 发表于 2021-12-29 11:04

来群里学习学习Q群164973950

小夏天的大西瓜 发表于 2024-3-26 17:59

楼主的经验很好,真正的避坑指南

LOVEEVER 发表于 2024-3-27 12:52

SPI的读驱动要加delay这个是不是跟时序图有关系?具体延时时间是根据时序图来的

xdvca 发表于 2024-7-31 22:36

如果延时过长可能会影响性能。可通过调整delay10us()函数的参数,或使用更精确的时钟来减少延时。
页: [1]
查看完整版本: HC32L130J8使用经验