完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我需要有毫秒计数器和分数微秒值的Syle支持。是否有安装和函数/宏(如GETMILIS和GETVAL)提供的支持?我需要自己造吗?
以上来自于百度翻译 以下为原文 I need Systick support with milliseconds counter and fraction microseconds value. Is there any support provided with setup and functions/macros like getMillis and getVal ? Do I need to build my own? |
|
相关推荐
4个回答
|
|
CyLI.h定义如下:
虚空(void);CySysTickStart CySysTickInit(void);无效无效无效cysystickenable(void);CySysTickStop(void);虚空(void);CySysTickEnableInterrupt CySysTickDisableInterrupt(void);无效无效CySysTickSetReload(UInt32值);UInt32 cysystickgetreload(void);UInt32 cysystickgetvalue(void);cysystickcall回来cysysticksetcallback(UInt32数,cysystickcallback功能);cySysTickCallback CySysTickGetCallback(UInt32值); 您可以在CYLB.C中查看实现。 我相信这个基础设施开始1ms的蜱和允许在登记自己的电话被称为每一个女士有注意一些成分可能依靠这一功能使它会影响其操作。你也可以访问SysTick API直接通过ARM CMSIS API。看,例如core_cm0。H在psoc4为cortexm0 ARM参考手册。 例如 其中包括“CoeLeCM01PSOC4.H” int main(void){ /*把初始化/启动代码(如myinst_start())* / setupfaulthandlers();// SysTick定时器计数下降每个刻度的24mhz CPU时钟SysTick - >;负荷= 0x00ffffff;SysTick - >;val = 0;SysTick - >;Ctrl = systick_ctrl_clksource_msk | systick_ctrl_enableγ-MSK; 我没有启用中断,我只是利用这个时机 uint32_t starttick = SysTick - >;缬氨酸;uint32_t stoptick1 = SysTick - >;缬氨酸;uint32_t timediff =(starttick - stoptick1)&;0xffffffu;/ /计数器位;正确的反包围。 你也可以使用tcpwm模块产生周期性的中断。 罗杰。 以上来自于百度翻译 以下为原文 CyLib.h defines the following: void CySysTickStart(void); void CySysTickInit(void); void CySysTickEnable(void); void CySysTickStop(void); void CySysTickEnableInterrupt(void); void CySysTickDisableInterrupt(void); void CySysTickSetReload(uint32 value); uint32 CySysTickGetReload(void); uint32 CySysTickGetValue(void); cySysTickCallback CySysTickSetCallback(uint32 number, cySysTickCallback function); cySysTickCallback CySysTickGetCallback(uint32 number); You can look at the implementation in CyLib.c I believe this infrastructure starts a 1ms tick and allows on to register one's own call-backs to be called every ms. There is a note that some components may rely on this functionality so disrupting it will affect their operation. You can also access the SysTick API directly through through the ARM CMSIS API. See, for example core_cm0.h on the PSoC4 and the ARM reference manual for the CortexM0. e.g. #include "core_cm0_psoc4.h" int main(void) { /* Place your initialization/startup code here (e.g. MyInst_Start()) */ setUpFaultHandlers(); // SysTick Timer counts down on each tick of 24MHz CPU clock SysTick->LOAD = 0x00ffffff; SysTick->VAL = 0; SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk; I have not enabled interrupts, I was just using this for timing uint32_t startTick = SysTick->VAL; uint32_t stopTick1 = SysTick->VAL; uint32_t timeDiff = (startTick - stopTick1) & 0xffffffu; // counter is 24-bit; correct for counter wrap-around. You can also use a TCPWM module to generate periodic interrupts. Roger. |
|
|
|
从帮助-gt;系统参考指南-gt;Cyth-BooTi组件
对于API的细节。 http://www.cypress.com/documentation/component-datasheets/psoc-creator-system-reference-guide-cyboot-component 罗杰。 以上来自于百度翻译 以下为原文 From Help->System Reference Guides->cy_boot_component For API Details. http://www.cypress.com/documentation/component-datasheets/psoc-creator-system-reference-guide-cyboot-component Roger. |
|
|
|
当需要微秒分辨率时,我建议设置一个以1MHz和1000的除数为单位的定时器。在中断时增加易失的UTIT64反值。所以在任何时候你都可以得到一个精确的刻度值。在检索计时器和计数器部分时使用CysCyrimalSeCudio()。
鲍勃 以上来自于百度翻译 以下为原文 When needing microseconds resolution I would suggest to set up a timer fed with 1MHz and a divisor of 1000. At interrupt increase a volatile uint64 countervalue. So at any time you can get a tick value with µs accuracy. Use CyEnterCriticalSection() when retrieving timer and counter parts. Bob |
|
|
|
ncmza 发表于 2019-2-25 19:20 罗杰,谢谢你。这就是我正在寻找的,并且代码段中有很多时间测量。 鲍伯,我觉得你的时间安排是对的。我应该解释我只需要开发环境。我发现必须添加/删除组件是一件麻烦事。我可以用注释隐藏调试代码,甚至可以定义如果我想启用/禁用。 谢谢你们俩。 托尼 以上来自于百度翻译 以下为原文 Roger, thank you. That is what I was looking for, and is plenty lapse time measurement in code segments. Bob, I think for a timing application you are right. I should have explained I need it just for development environment. I find having to add/remove a component is a hassle. I can hide debug code with comments or even defines if I wanted to enable/disable easily. Thank you both. Tony |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2075 浏览 1 评论
1829 浏览 1 评论
3645 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1766 浏览 6 评论
1517 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
516浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
370浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
413浏览 2评论
360浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
868浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 08:11 , Processed in 0.960439 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号