完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
有没有办法知道有多少时钟(HFCLK)循环TCPWMAPI(对于任何API)函数都要执行。
举个例子:TCPWMWRead EngEnter();Culk循环如何执行? 还有一种使用汇编命令直接写入寄存器的方法吗?如何将汇编命令转换成C程序? 谢谢 |
|
相关推荐
12个回答
|
|
内联ASM -HTTP://wwwyCysP.Co/FoMU/PSOC-4体系结构/内联汇编PSOC4
若要计数时钟周期以执行API查看.LST文件,请找到API调用,并计数 从ASM代码中显示出的循环。使用ARM M0指令表循环计数 获取每个ARM指令的值。 是的,你可以从C或ASM写寄存器。C注册肺炎名 在您放置的UDB对象的CyFist.h文件中。您也可以查看寄存器 其他寄存器的TRM。小心使用直接重写,仔细阅读笔记 寄存器TRM。 问候,Dana。 |
|
|
|
|
|
|
|
谢谢大家的快速反应。
1。没有“外部”信号要与之相比。取而代之的是一个包含200个离散比较值的查找表。 2。在每10US之后,PWM的比较值必须用一个新的值来更新。 三。Verilog解决方案?我不喜欢HDL。将保持它作为最后的选择。在这一点上,我甚至不知道32个宏单元是否足够。 问题很简单: 每次PWM模块闪烁TC中断时,改变比较值。 比较值可以通过API、直接寄存器更新或通过UDB来改变。任何方法都可以。然而,UDB方法,如果可能的话,将会很酷! |
|
|
|
创建者3.3(和以前的版本)与GCC一起工作,GCC是GNU编译器集合。您将在GCC.GNU-OG中找到所有编译器和链接器方面的解释。
您将找不到PSOS4的所有*API的列表,但会找到PSOC4组件的所有API的列表。因为总有一个新的部件被建造,前一个清单是不可能的。您可以在您的TopDebug表上或组件目录中的某个组件上单击一个组件,然后选择“打开数据表”来获得组件支持的描述和* ** API的列表。 使用ASM并不容易,但它很有效。我更喜欢 定义了ASM(x)μASM易失性(x)//ththand,x是包含汇编指令的字符串。 ASM(“MRS R0,PSPNR”//GOT StActoPosig到R0“LDR R3,XRunEngest\NR”/ /获得指向任务描述符的指针“LDR R2,[R3] NR”/地址StAccPosits存储“子R0,R0,α32 NR”/ /保留空间,其他寄存器推“STR R0,[R2]”nr“//保存进程的StaskPosik值”STM R0!{R4-R7}nr“/ /类似推指令,但使用R0作为StActhPosix”MOV R4、R8NR“/ /移动寄存器R8到R11” ; 这可以放入一个函数(不是文本,而是要执行什么)。***将****保持在一个ASM()中的所有汇编语句,否则C优化器将有权重新排列指令,这通常是灾难性的。 鲍勃 |
|
|
|
|
|
|
|
这可能是有用的(讨论ASM以及许多其他主题)-HTTP://CyPress .COM/DoCTONTION/Appult- NoSe/AN89610-PSOC-4和PSOC-5LPAR-CORTEX-CODE-优化AN8610-PSoC®4和PSoC 5LP ARM皮层代码优化
问候,Dana。 |
|
|
|
目前为止我的经验:你不需要使用汇编代码,很“正常”的程序,即使时间或大小,关键在GCC的优化使得它很难打败,用自己的汇编代码。您可以指定“释放”而不是“调试”设置编译你的代码时,你甚至可能要求不同的优化级别的一个文件,你甚至可以设置为一个函数的优化水平(将标记当编辑,但是编译没有错误)
当你需要的代码比较特殊的东西(如教学ASM,任务切换,修改SP,LR左右)你确实需要汇编代码。 当你告诉我们一点关于你想执行我们也许可以帮助你走远一点。 鲍勃 |
|
|
|
很难说Flash属于哪里,有API来编程Flash,但是代码通常是从Flash执行的,这意味着它属于CPU。根据您的要求,我的PWM频率达到100MHz,远远超过PSOC4的吞吐率。
鲍勃 |
|
|
|
问题是,假设你不想截断一个PWM周期?
这是你要的PWM发行其完整周期之前改变它 参数?如果你想从一个周期到下一个零延迟,或 在进行更改时是否允许延迟?如果后者使用HT对TC输出停止 PWM,做更新,然后重新启动。如果没有延迟,我认为Verilog解决方案可能 有必要。 问候,Dana。 |
|
|
|
MrinalMani,我的理解是SPWM就像三角形斜坡和外部信号(例如正弦波)之间的比较器。在你的情况下,这个外部信号的来源是什么?这是软件循环吗?对于这个外部信号,你期望最大频率是多少?
为了澄清,我附上SPWM的示意图,输入信号来自CuffReg。在这种情况下,您必须通过CPU填充控件。 Spime01.PNG 55.7 K |
|
|
|
你想要达到什么样的模式?
HTTPS://www. GooGeL.COM/URL?AMP;Q=&;EnRC= Se& and;Cd=0CDQQJAJAWKJNT4ATA PFIAHXH1R4KHEHJBY和URL=HTTP %3A%2F%2FCHIL.FiSCALIC.%FFILE %2FMICROMENTROR %2FDOC %2FAPPNECK %2FTPTUNN19.PDG&AMS:AFGJCNECAIK1EKTPRVLNA4RLNDJMD 15NKQ & CAD= RJA SA= T&RCT= J & 如果你谷歌“SPWM Verilog”似乎有很多解决方案。 HTTP://StAccOfFult.COM/Quass/228 35525/正弦脉冲宽度调制在FPGA-DEVICE模拟中未调制 问候,Dana。 |
|
|
|
这可能是有趣的,尤其是线程中的最后一个条目。
HTTP://www. CyPress .COM/FUMU/PSOC-5设备编程/问题转换- PWM比较值 问候,Dana。 |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2106 浏览 1 评论
1853 浏览 1 评论
3671 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1788 浏览 6 评论
1536 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
572浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
424浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
438浏览 2评论
386浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
916浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 05:44 , Processed in 1.145447 second(s), Total 96, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号