sang523

    1. stm8 检测端口脉冲下降沿 2/2505 stm32/stm8 2017-02-16
      qwerghf 发表于 2017-2-16 08:54 输入捕获更好
      谢谢啦
    2. 外部脉冲计数 13/4998 stm32/stm8 2017-01-21
      lonerzf 发表于 2017-1-21 14:02 你能告诉我你需要实现什么功能吗?我看你的标题就写了只需要外部脉冲计数就行了啊。
      现在PD2端口通过置高和置低产生类似方波的脉冲,我如果不开外部中断的话,怎样实现对这个脉冲计数和判断边沿极性。 #pragma vector=TIM1_OVR_UIF_vector __interrupt void TIM1_OVR_UIF_IRQHandler(void) {   TIM1_SR1=0X00;   count13++;   if(count13==3)                        //数3个脉冲后PD2置高(3个脉冲25us)   PD2=1;                                          if(count13==6)                       //数3个脉冲后PD2置低   PD2=0; }
    3. 外部脉冲计数 13/4998 stm32/stm8 2017-01-21
      lonerzf 发表于 2017-1-21 13:35 等到下一个定时器中断到达能看到。比如t-1时刻电平为1,t时刻定时器中断判断电平还是1,但马上变成了0, ...
      还是有点不懂啊,在我那个程序里怎样体现呢,肯定需要读取PD2_IDR的值吧
    4. 外部脉冲计数 13/4998 stm32/stm8 2017-01-21
      lonerzf 发表于 2017-1-21 10:03 定时器25us中断,检测一次外部电平,然后记录下来,遇到前一次和当前检测电平结果不一样,计数变量值就 + ...
      还有如果脉冲是PD2端口在定时器中断里产生的,怎么去检测啊,有点懵 #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; }
    5. 外部脉冲计数 13/4998 stm32/stm8 2017-01-21
      lonerzf 发表于 2017-1-21 10:03 定时器25us中断,检测一次外部电平,然后记录下来,遇到前一次和当前检测电平结果不一样,计数变量值就 + ...
      懂了,我试试。
    6. 外部脉冲计数 13/4998 stm32/stm8 2017-01-21
      lonerzf 发表于 2017-1-20 20:56 25us检测一次电平就可以了啊。
      是不是在中断里检测电平值再与主程序的电平值进行比较?
    7. stm8端口脉冲 11/3008 stm32/stm8 2017-01-21
      ZHZ26 发表于 2017-1-20 19:04 你的边沿极性有你的程序控制,运行“PD2=0;”时,PD2就输出下降沿,你在“PD2=0;”后加个计数语句:“nu ...
      恩,懂了,谢谢
    8. 端口脉冲 1/1410 stm32/stm8 2017-01-20
      怎么没人了
    9. stm8端口脉冲 11/3008 stm32/stm8 2017-01-20
      ZHZ26 发表于 2017-1-20 08:15 再定义两个全局变量,一个进定时器中断时自加,一个在if(count13==6)里面自加,不就OK了? 另外你的coun ...
      清零原程序有写的,但是这样怎么做到判断边沿极性
    10. 外部脉冲计数 13/4998 stm32/stm8 2017-01-20
      lonerzf 发表于 2017-1-19 21:28 定时器中断里边判断电平可以吗?
      可以啊,只要不开外部中断就OK,但是端口翻转产生的脉冲算外部脉冲吗,那如何用定时器呢
    11. 外部脉冲计数 13/4998 stm32/stm8 2017-01-19
      chenzhufly 发表于 2017-1-19 14:22 一般是可以的,要看脉冲的频率
      脉冲周期50us,频率不高,用什么方式啊
    12. stm8端口脉冲 11/3008 stm32/stm8 2017-01-18
      qwerghf 发表于 2017-1-18 16:10 定时器中断读取IO电平计数,中断时间间隔为你最小的脉冲时间
      本身这个脉冲就是PD2端口在tim1溢出中断里产生的,再用一个定时器中断读电平去计数
    13. stm8端口脉冲 11/3008 stm32/stm8 2017-01-18
      ZHZ26 发表于 2017-1-18 13:58 LZ说的有点模糊,脉冲式单片机输出还是外部输入? 单片机输出的话设个全局变量在翻转IO口的时候技术不就行 ...
      其实就是一个io口通过对其置高置低类似于脉冲,就是在我发的程序上对PD2进行计数和判断其下降沿
    14. stm8端口脉冲 11/3008 stm32/stm8 2017-01-18
      lyfly_away 发表于 2017-1-18 09:44 输入捕捉,外部中断
      这是端口置高置低产生的脉冲怎么去输入捕获呢,再接到一个定时器通道上?
    15. 对于捕获有些疑惑 8/2224 stm32/stm8 2016-12-27
      huo_hu 发表于 2016-12-26 14:09 可以直接用两个定时器的同步功能,没必要多捣腾一次。 你这末做因为需要软件参与指标受影响。 你自己产生 ...
      可是我这用的不具有同步功能。。(stm8s103)
    16. 对于捕获有些疑惑 8/2224 stm32/stm8 2016-12-26
      眼大5子 发表于 2016-12-26 10:05 是同时选择CH1和CH2作为捕捉通道IC1的输入信号。有时候捕捉既要满足下跳沿捕捉又要满足上跳沿捕捉,那这样 ...
      这是不是测pwm周期和占空比用的
    17. 对于捕获有些疑惑 8/2224 stm32/stm8 2016-12-26
      huo_hu 发表于 2016-12-25 16:49 没那个必要,pwm输出是有标志的
      我寻思用CH2来捕获CH1输出的pwm的上升沿,捕获到上升沿时另一个定时器也输出pwm,做到同步。
    18. 对于捕获有些疑惑 8/2224 stm32/stm8 2016-12-23
      huo_hu 发表于 2016-12-23 18:52 看手册的样子好像是的,没做过这块儿
      哦,我打算用通道2来输入捕获通道1输出的pwm,这样合理吗(ic2映射在TI1FP2)
    19. stm8 输入捕获 6/1877 stm32/stm8 2016-12-22
      仙景 发表于 2016-12-21 16:54 是啊,你要用这功能肯定啦,不然怎么测
      TIM1_CCMR2=0X02 这就是CC2通道配置为输入,把IC2映射到TI1FP2,不就吧CH1的输出pwm接到CH2吗,我刚接触,不是很懂
    20. stm8 输入捕获 6/1877 stm32/stm8 2016-12-21
      仙景 发表于 2016-12-21 15:27 tim2也可以的,tim3也可以的,都有比较器
      你意思是把tim1的输出用线接到tim2或者tim3引脚上吧

最近访客

< 1/1 >

统计信息

已有3人来访过

  • 芯积分:--
  • 好友:--
  • 主题:12
  • 回复:46

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言