找回密码
 立即注册
楼主: pel***

STC8H8K64U PWMA同时用作捕获和输出采集时,出现捕获遗漏问题

[复制链接]

该用户从未签到

1

主题

8

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2023-11-6 14:08:47 | 显示全部楼层
梁工 发表于 2023-11-6 13:05
你在捕获中断中取反一个IO来指示,示波器观察,输入频率稳定的信号,则IO输出信号频率的一半,就能知道是 ...

另外,关闭溢出中断的时候就不会出现这种波形

点评

这样清除标志试试: sr1 = PWMA_SR1; PWMA_SR1 &= ~sr1; 然后贴上面的示波器图  详情 回复 发表于 2023-11-6 16:03
回复 支持 反对 送花

使用道具 举报

该用户从未签到

46

主题

2980

回帖

6717

积分

超级版主

积分
6717
发表于 2023-11-6 16:03:58 | 显示全部楼层
pelion 发表于 2023-11-6 14:08
另外,关闭溢出中断的时候就不会出现这种波形

这样清除标志试试:
sr1 = PWMA_SR1;
PWMA_SR1 &= ~sr1;

然后贴上面的示波器图
回复 支持 反对 送花

使用道具 举报

该用户从未签到

1

主题

8

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2023-11-6 16:27:07 | 显示全部楼层
pelion 发表于 2023-11-6 14:08
另外,关闭溢出中断的时候就不会出现这种波形

可以了,请教一下,这是为啥呀?
ok.jpg

点评

你原来的程序: sr1 = PWMA_SR1; PWMA_SR1 = 0; 有机会这样:执行sr1 = PWMA_SR1之后,此时刚好出现捕捉信号中断,然后执行PWMA_SR1 = 0,清除掉了捕捉中断。 但是按理应该很难遇到,除非你的信号也是用PWM输出的,  详情 回复 发表于 2023-11-6 17:16
回复 支持 反对 送花

使用道具 举报

该用户从未签到

46

主题

2980

回帖

6717

积分

超级版主

积分
6717
发表于 2023-11-6 17:16:11 | 显示全部楼层
pelion 发表于 2023-11-6 16:27
可以了,请教一下,这是为啥呀?

你原来的程序:
sr1 = PWMA_SR1;
PWMA_SR1 = 0;
有机会这样:执行sr1 = PWMA_SR1之后,此时刚好出现捕捉信号中断,然后执行PWMA_SR1 = 0,清除掉了捕捉中断。
但是按理应该很难遇到,除非你的信号也是用PWM输出的,即你将PWM输入到捕捉,这样就会出现同步问题。
而用如下程序:
sr1 = PWMA_SR1;
PWMA_SR1 &= ~sr1;
则清除的读到的1,读之后变成1的不会被清除。
回复 支持 1 反对 0 送花

使用道具 举报

该用户从未签到

1

主题

8

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2023-11-6 18:03:36 | 显示全部楼层
梁工 发表于 2023-11-6 17:16
你原来的程序:
sr1 = PWMA_SR1;
PWMA_SR1 = 0;

好的,谢谢
回复 支持 反对 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2024-5-10 11:43 , Processed in 0.060088 second(s), 46 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表