想知道ch573芯片,上电已运行的时间数(微秒,毫秒),可以通过哪个函数获取

官方的基础相关的库,里面找了个遍,没有找到,也许哪里疏忽了。


找到一个SYS_GetSysTickCnt(),以为是,结果测试的结果,一直是0xFFFFFFFFF。


之前用Arduino开发esp8266,有millis() 和 micros(),对应芯片上电运行的毫秒和微秒数。这个可以用起来,实现一些功能。


使用了一段时间ch573,功能是非常强大,又配合MounRiver Studio,开发非常方便,唯一的缺憾就是资料太稀少,想实现功能,就要自己动手移植库,慢慢摸索中。


基于32K时钟提供了万年历的功能,可以通过这个来进行计数,相应的函数可以参考链接最下方的代码:

CH573芯片Sleep说明 - SweetTea_lllpc - 博客园 (cnblogs.com)

上面函数是抵达定时器,这里也有参考:

CH579 CH5573 CH582 嘀嗒定时器使用 - debugdabiaoge - 博客园 (cnblogs.com)


感谢,使用  SysTick_Config(32000) 测试ok!

定义一个全局变量,uint32_t类型数据,在中断里对它++,它就类似millis()的值。不过它的值,单位不是1ms,我测试1秒间隔,会自加1878。不过也能用,比例转换一下就好。


找到原因了,我以为32000是对应晶振的32M,原来是要对应主频,60M的主频,设置为60000,确实是1ms间隔。


只有登录才能回复,可以选择微信账号登录