星瞳实验室APP,快速收到回复
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 定时器中断频率不能为小数吗?还有我不能在回调函数计数吗?当计的数大于某个值时才执行其他功能



    • import time
      from pyb import Pin, Timer, LED
      
      blue_led  = LED(3)
      i=0
      # we will receive the timer object when being called
      # Note: functions that allocate memory are Not allowed in callbacks
      def tick(timer): 
          i=i+1
          if i>=5:
              blue_led.toggle()
          
      tim = Timer(2, freq=1)      # create a timer object using timer 2 - trigger at 1Hz
      tim.callback(tick)          # set the callback to our tick function
      
      while (True):
          time.sleep_ms(1000)
          print(i)
      


    • 回调函数不能有内存申请的话,那我想用定时器中断该怎么办?



    • 你代码的问题,通过加一个global可以解决。

      import time
      from pyb import Pin, Timer, LED
      
      blue_led  = LED(3)
      i=0
      # we will receive the timer object when being called
      # Note: functions that allocate memory are Not allowed in callbacks
      def tick(timer): 
          global i
          i=i+1
          if i>=5:
              blue_led.toggle()
          
      tim = Timer(2, freq=1)      # create a timer object using timer 2 - trigger at 1Hz
      tim.callback(tick)          # set the callback to our tick function
      
      while (True):
          time.sleep_ms(1000)
          print(i)
      


    • 回调函数里能写很多代码吗



    • 主函数很多代码为什么会影响到回调函数,回调函数里有计数大于某个值时清零,但主函数很多代码后不会清理了是什么情况



    • @m13t 新发一个帖子,然后附上全部代码。然后说明具体什么时候会出现错误,我才能知道哪里有问题。