你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

端口脉冲计数

[复制链接]
飞翼我的心 提问时间:2017-1-18 09:11 /
悬赏50ST金币未解决
一个端口通过外部使其置高或置低效果类似方波脉冲(但不是持续的,有可能长时间都置低),怎么计数其脉冲个数以及判断其上升沿,比如说在TIM1定时器溢出中断里:
#pragma vector=TIM1_OVR_UIF_vector
__interrupt void TIM1_OVR_UIF_IRQHandler(void)
{
  TIM1_SR1=0X00;
  count13++;
  if(count13==3)                        //数3个脉冲后PD2置高
  PD2=1;                                       
  if(count13==6)                       //数3个脉冲后PD2置低
  PD2=0;
}
如何计数PD2端口的脉冲个数以及判断其上升沿.

收藏 1 评论19 发布时间:2017-1-18 09:11

举报

19个回答
jinglixixi 回答时间:2017-1-18 11:00:34
你对PD2的高或低直接计数即可,至于上升沿看PD2由0->1的变化即可。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

飞翼我的心 回答时间:2017-1-18 11:13:49
jinglixixi 发表于 2017-1-18 11:00
你对PD2的高或低直接计数即可,至于上升沿看PD2由0->1的变化即可。

直接计数怎么做,需要开外部中断吗,我只知道通过中断可以计数脉冲个数
zoomdy 回答时间:2017-1-18 12:50:18
你是要输出脉冲?还是测量脉冲个数?

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

飞翼我的心 回答时间:2017-1-18 13:28:16
zoomdy 发表于 2017-1-18 12:50
你是要输出脉冲?还是测量脉冲个数?

测量脉冲个数还有判断下降沿
回答时间:2017-1-18 13:34:56
外部中断上升沿触发来进行上升沿的计数。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

飞翼我的心 回答时间:2017-1-18 14:09:10
安 发表于 2017-1-18 13:34
外部中断上升沿触发来进行上升沿的计数。

谢谢啦,还有如果这个脉冲不是持续的,可能PD2端口会突然长时间置低,会影响计数吗
anobodykey 回答时间:2017-1-18 14:20:39
楼上说的都挺对的,如果只检测上升沿的话就可以设置成外部中断为上升沿触发即可,在中断服务例程中计数即可。

评分

参与人数 2ST金币 +27 收起 理由
飞翼我的心 + 25
zero99 + 2

查看全部评分

飞翼我的心 回答时间:2017-1-18 14:24:46
anobodykey 发表于 2017-1-18 14:20
楼上说的都挺对的,如果只检测上升沿的话就可以设置成外部中断为上升沿触发即可,在中断服务例程中计数即可 ...

明白了,但是如果该脉冲不是持续恒定的,有可能PD2端口会突然长时间置低,影响计数吗
回答时间:2017-1-18 14:42:56
如果长时间不变,是不会影响的计数的,只有上升沿发生时才会进入中断。楼主可以测试一下。

评分

参与人数 1ST金币 +25 收起 理由
飞翼我的心 + 25

查看全部评分

12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版