首页 > 其他分享 >STM8系列--PWM捕获输入检测

STM8系列--PWM捕获输入检测

时间:2024-05-29 10:35:47浏览次数:19  
标签:STM8 ENABLE num1 -- CC1 CC2 TIM1 PWM 输入

最重要的下载程序的option bety 设置;

函数1:

void Init_Timer1(void)
{    
    GPIO_Init(GPIOC, GPIO_PIN_6, GPIO_MODE_IN_PU_NO_IT);   //输入浮动,没有外部中断     
    TIM1_DeInit();                                         //tim1 定时器寄存器全部复位  
    TIM1_TimeBaseInit(31, TIM1_COUNTERMODE_UP, 15625-1, 0);//  500ms  最小捕获5hz      设置时间分频  向上计数    捕捉5Hz及 以上的周期和占空比         
    TIM1_PWMIConfig(TIM1_CHANNEL_1, TIM1_ICPOLARITY_RISING, TIM1_ICSELECTION_DIRECTTI, TIM1_ICPSC_DIV1, 0x00); //选择TI1输入上升沿触发 选择TI2输入下降沿触发 输入捕捉预定标器  无滤波
    TIM1_SelectInputTrigger(TIM1_TS_TI1FP1);                 //滤波后输入TI1
    TIM1_SelectSlaveMode(TIM1_SLAVEMODE_RESET);  //复位输入
    TIM1_ClearFlag(TIM1_FLAG_CC1);                                 //指定要清除的标志
    TIM1_ClearFlag(TIM1_FLAG_CC2);                                //指定要清除的标志
    TIM1_ITConfig( TIM1_IT_CC1, ENABLE);                     //去掉是查询方式,否则是中断方式
    TIM1_ITConfig( TIM1_IT_CC2, ENABLE);                    //去掉是查询方式,否则是中断方式
    TIM1_CCxCmd(TIM1_CHANNEL_1, ENABLE);          //使能输入捕获通道1
    TIM1_CCxCmd(TIM1_CHANNEL_2, ENABLE);          //使能输入捕获通道2
    TIM1_Cmd(ENABLE);                                                     //使能定时器
 
}
TIME1_INIT

函数2:

extern __IO uint32_t LSIClockFreq;
extern __IO uint32_t LSIDuty;
INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandler, 12)
{
  /* In order to detect unexpected events during development,
     it is recommended to set a breakpoint on the following instruction.
  */
  uint16_t num = 0;
  static uint16_t num1;
  static uint32_t num2;

 if(TIM1_GetITStatus(TIM1_IT_CC1) != RESET) //如果CH1边沿触
  {  
      num1 = TIM1_GetCapture1();  
      TIM1_ClearITPendingBit(TIM1_IT_CC1);    //清除标志位  
  }  
 else if(TIM1_GetITStatus(TIM1_IT_CC2) != RESET) //如果CH2边沿触发  
  {  
      num2 = TIM1_GetCapture2();             //
      TIM1_ClearITPendingBit(TIM1_IT_CC2);    //清除标志位  
      if(flag_send==0)
      {
           LSIDuty = ((num2 * 100) / num1); //计算占空比
           SIClockFreq = 62500/( num1);        //计算频率
          if(LSIClockFreq>=0xff)
         {
             LSIClockFreq=0xff;
         }
     }
  }
}
中断12

 

标签:STM8,ENABLE,num1,--,CC1,CC2,TIM1,PWM,输入
From: https://www.cnblogs.com/zhouyuqing1024/p/18219641

相关文章

  • 电脑文件如何传输到手机上?
    1、当文件小时:通过微信即可实现2、当文件太大时:通过QQ传递;安卓手机:使用usb连接,电脑使用adb命令安装;苹果手机:爱思助手被投毒,当前不能使用。优先使用苹果官方提供的iTunes助手,可以到这里获取:https://pc.qq.com/如果iTunes功能上不能满足需求,可以使用另外一款第三方的软件3u......
  • AutoCAD的图形格式版本代号
    参考来源https://www.autodesk.com.cn/support/technical/article/caas/sfdcarticles/sfdcarticles/CHS/drawing-version-codes-for-autocad.html版本号MC0.0-DWGRelease1.1AC1.2-DWGR1.2AC1.4-DWGR1.4AC1.50-DWGRelease2.0AC2.10-DWGRelease2.10AC1002......
  • pyecharts生成图片
      #-*-coding:utf-8-*-frompyechartsimportoptionsasoptsfrompyecharts.chartsimportPieimportpymysqlfromsnapshot_phantomjsimportsnapshotfrompyecharts.renderimportmake_snapshotimportdatetimel_mysql_server="192.168.1.14"......
  • 源代码管理工具——GitHub
    GitHub是一个面向开源及私有软件项目的托管平台,拥有超过1亿的开发人员、400万以上的组织机构和3.3亿以上的资料库。自2008年4月10日正式上线以来,GitHub已经成为管理软件开发以及发现已有代码的首选方法。它主要基于Git版本控制系统,提供了包括代码托管、问题跟踪、代码审查、代码片......
  • python发送多个图片
     #-*-coding:utf-8-*-fromemail.mime.textimportMIMETextfromemail.mime.imageimportMIMEImagefromemail.mime.multipartimportMIMEMultipartimportsmtplibimportdatetimeimportosmail_to="123456@qq.com"mail_host="mail.qq.c......
  • 轴承制造企业“数智化”突破口
    轴承是当代机械设备中一种重要零部件。它的主要功能是支撑机械旋转体,降低其运动过程中的摩擦系数,并保证其回转精度。轴承是工业核心基础零部件,对国民经济发展和国防建设起着重要的支撑作用。轴承企业普遍采用以销定产的经营模式,即根据销售订单、销售计划采购原材料和组织生产......
  • 开发工具系列---【解决XShell上传文件乱码导致压缩时丢文件】
    1.问题描述上线的时候,我们把需要上线的文档放到linux上的一个目录下,然后使用`tar-zcvfbao.tar.gzbao`命令压缩,传到生产的时候发现同事的excel,doc老丢,以为忘传导致的。结果上完线下来一看,上传的bao目录下有。2.解决方案经过分析,我们一致觉得是编码格式导致的,他用的是xshell......
  • IDEA 创建 JavaFX 工程
    JavaFX下载安装1.检查本机JDK版本CMD命令行窗口输入java--version查询JDK版本,如下:C:\Users\Administrator>java--versionjava17.0.92023-10-17LTSJava(TM)SERuntimeEnvironment(build17.0.9+11-LTS-201)JavaHotSpot(TM)64-BitServerVM(build17.0.9+......
  • 植物大战僵尸杂交版最全版本所有版本包含
    "植物大战僵尸杂交版"是一款非常有趣的休闲游戏,它集合了经典的植物大战僵尸元素和全新的杂交机制,让玩家可以在游戏中体验到更多的乐趣。今天,我要为大家详细介绍这款游戏的玩法和特点。首先,在游戏中,你可以通过点击关卡难度选择右边的小墓碑来打开控制台。控制台提供了多种......
  • 【GD32F303红枫派使用手册】第二节 GPIO-流水灯实验
    2.1实验内容通过本实验主要学习以下内容:GPIO结构及原理;GPIO输出功能实现;LED驱动原理。2.2实验原理2.2.1GPIO外设原理GD32F303系列MCU最多可支持112个通用I/O引脚(GPIO),分别为PA0~PA15,PB0~PB15,PC0~PC15,PD0~PD15,PE0~PE15,PF0~PF15和PG0~PG15,各......