Cypress技术论坛
直播中

彭望琼

8年用户 153经验值
私信 关注
[问答]

正交32位计数器接收不到数据

大家好,感谢您在任何的帮助,我是一个学生,需要使用一个32位的计数器quaddec大小,所以我创建了一个长整型变量来存储它的价值,因为我需要把它通过UART接口作为字符串来捕捉正交的信息,这里的事情是尽管我做的选择32位的计数器,我接收的数据不到32 768和32 768只是因为它是一个16位的计数器。
我在组件数据表中读到:
“32位计数器实现低十六位在硬件计数器上16位软件,减少了硬件资源的使用。对于这个目标,使用额外的ISR。与32位计数器正常工作,中断必须启用。您可以添加ISR代码源文件的需要;看到中断部件数据的更多细节。”
我真的不知道要完全得到这意味着什么但我可以理解,似乎真的从来没有创建一个32位的计数器。
我怎么解决这个问题?再次感谢。

回帖(13)

王琳

2019-9-3 12:19:47
欢迎来到论坛!
你能把你的项目放在这里,这样我们就可以看看你的所有设置了吗?这样做,使用的创造者- >;文件& gt;创建工作包(最小的)并将结果文件。鲍勃
举报

杨军

2019-9-3 12:25:54
32位解决方案是一个16位的HW计数器与它的溢出/下溢耦合在一起。
进入一个16位的SW计数器,所以这就是中断的原因。
我不清楚这个API是什么?
这是否意味着GetCounter()API只返回较低的16位,即使
API在配置为32位时显示为32位,或者仅为上述API
如果需要的话,可以剥离上16位。
问候,Dana。
举报

姜钰

2019-9-3 12:44:23
那句话确切地说是什么意思。
在PSoC的大部分功能是没有一个固定的组成部分,而在UDBs实施。一个国家需要一定的资源。保存这些,QD implemts在硬件32位计数器仅部分,和其他软件。它使用一个中断(触发时,低16位溢出)。为了正常工作,需要在全球范围内启用中断。
这种内部中断不会阻止您使用中断自己的目的。只要连接ISR组件中断的QD输出。
举报

姜钰

2019-9-3 12:58:52
GETOffice()返回一个It8/It16或It32,这样就可以得到完整的计数器。正如描述的那样,在软件中处理了32位计数器的部分。它是一个全局变量,但它不打算在外部使用(尽管can can)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分