stm8s003 103 区别的tim5ch3与tim5ch3有什么区别

STM8S timer5初始化设置及应用
//文件timer5.h
#ifndef _timer5_H_
#define _timer5_H_
TIM5_DIV16
TIM5_DIV32
TIM5_DIV64
TIM5_DIV128
#define TIM5_UpDate
(unsigned char)0x01 //更新中断通道
#define TIM5_InChanel1
(unsigned char)0x02
#define TIM5_InChanel2
(unsigned char)0x04
#define TIM5_InChanel3
(unsigned char)0x08
#define TIM5_InDir_UP
(unsigned char)0
#define TIM5_InDir_DOWN (unsigned char)1
#define TIM5_IEN_ENB
TIM5_CR1 |= 0X01 ; //开启定时器
#define TIM5_IEN_OFF
TIM5_CR1 &= ~0X01 ; //关闭定时器
void Init_TIM5_Base(uint16 Tcon,uint8 Pscr) ;
extern void Init_TIM5_InSet(void) ;
extern void TIM5_InChanelEnb(uint8 Chanel,uint8 en) ;
extern void TIM5_InDirection(uint8 Chanel,uint8 Dircetion);
extern void TIM5_InEnb(uint8 en) ;
extern void TIM5_IntEnb(uint8 Chanel,uint8 en) ;
extern void TIM5_Enb(uint8 en) ;
//文件timer5.c
#include "global.h"
#include "timer5.h"
Init_TIM5_Base_CALL
Init_TIM5_InSet_CALL
TIM5_InDirection_CALL
TIM5_InChanelEnb_CALL
TIM5_IntEnb_CALL
TIM5_InEnb_ CALL
TIM5_Enb_CALL
TIM5 16位普通定时器
//*************************************
// 函数名称:Init_Timer5_Timer
// 函数功能:TIM5作定时器用时初始化
// 入口参数:
// 出口参数:无
/***************************************/
#ifdef Init_TIM5_Base_CALL
void Init_TIM5_Base(uint16 Tcon,uint8 Pscr)
// 禁止产生更新事件
TIM5_EGR = 0x00;
//计数器时钟=主时钟/16=16MHZ/16 = 1U
// 相当于计数器周期为1uS
TIM5_PSCR = P
//设定重装载时的寄存器值
TIM5_ARRH = (Tcon >> 8) & 0//0X07;
TIM5_ARRL = Tcon & 0//0XD0;
// 设定计数器的初值
定时周期=(ARR+1)*8=16320uS
TIM5_CNTRH = 0;
TIM5_CNTRL = 0;
// b0 = 1,允许计数器工作 b1 = 0,允许更新
// 设置控制器,启动定时器
TIM5_CR1 = 0x00;
#endif //Init_TIM5_Base_CALL
//*************************************
// 函数名称:Init_Timer5_In
// 函数功能:TIM5作输入捕捉使用时初始化
// 入口参数:
// 出口参数:无
/***************************************/
#ifdef Init_TIM5_InSet_CALL
void Init_TIM5_InSet(void)
TIM5_CCER1 &= ~(SETB0 | SETB4) ; //禁止输入捕获1 2 3
TIM5_CCER2 &= ~SETB0 ;
// 采样频率=Fmst
每个边沿捕获一次
TIM5_CCMR1 |= 0x30 ;
TIM5_CCMR2 |= 0x30 ;
TIM5_CCMR3 |= 0x30 ;
//通道映射方向
TIM5_CCMR1 |= 0x01 ;//IC1映射在TI1FP1
TIM5_CCMR1 |= 0x02 ;//IC1映射在TI2FP1
TIM5_CCMR2 |= 0x01 ;//IC2映射在TI2FP2
TIM5_CCMR2 |= 0X02 ;//IC2映射在TI1FP2
TIM5_CCMR3 = 0x31 ;//IC3映射在TI3FP3
TIM5_SMCR = 0X04 ; //触发方式复位
//捕捉方向
TIM5_InDirection(TIM5_InChanel1,TIM5_InDir_UP) ;
TIM5_InDirection(TIM5_InChanel2,TIM5_InDir_DOWN) ;
TIM5_InDirection(TIM5_InChanel3,TIM5_InDir_UP) ;
//捕捉通道使能
TIM5_InChanelEnb((TIM5_InChanel1 | TIM5_InChanel2) ,ENB) ;
TIM5_InChanelEnb(TIM5_InChanel3 ,DIS) ;
#endif //Init_TIM5_InSet_CALL
//*************************************
// 函数名称:TIM5_InDirection
// 函数功能:TIM5捕捉方向设置
// 入口参数:通道号,捕捉方向
// 出口参数:无
/***************************************/
TIM5_InDirection_CALL
TIM5_InDirection(uint8 Chanel,uint8 Dircetion)
if(Chanel == TIM5_InChanel1) //通道1
if(Dircetion == TIM5_InDir_UP)
TIM5_CCER1 &= ~SETB1 ;//捕捉在TI1F或TI2F的上升沿
TIM5_CCER1 |= SETB1 ;
else if(Chanel == TIM5_InChanel2)//通道2
//捕捉在TI1F或TI2F的上升沿
if(Dircetion == TIM5_InDir_UP)
TIM5_CCER1 &= ~SETB5 ;
TIM5_CCER1 |= SETB5 ;
else if(Chanel == TIM5_InChanel3)//通道3
if(Dircetion == TIM5_InDir_UP)
TIM5_CCER2 &= ~SETB1 ;//捕捉在TI3F的上升沿
TIM5_CCER2 |= SETB1 ;
#endif //TIM5_InDirection_CALL
//*************************************
// 函数名称:TIM5_InChanelEnb
// 函数功能:TIM5输入通道使能函数
// 入口参数:TIM5通道号 使能参数
// 出口参数:无
/***************************************/
#ifdef TIM5_InChanelEnb_CALL
void TIM5_InChanelEnb(uint8 Chanel,uint8 en)
if(ENB == en)
if(Chanel & TIM5_InChanel1)
TIM5_CCER1 |= SETB0 ; //捕捉1使能
if(Chanel & TIM5_InChanel2)
TIM5_CCER1 |= SETB4 ; //捕捉2使能
if(Chanel & TIM5_InChanel3)
TIM5_CCER2 |= SETB0 ; //捕捉3使能
if(Chanel & TIM5_InChanel1)
TIM5_CCER1 &= ~SETB0 ; //捕捉1禁止使能
if(Chanel & TIM5_InChanel2)
TIM5_CCER1 &= ~SETB4 ; //捕捉2禁止使能
if(Chanel & TIM5_InChanel3)
TIM5_CCER2 &= ~SETB0 ; //捕捉3禁止使能
#endif //TIM5_InChanelEnb_CALL
//*************************************
// 函数名称:TIM5_IntEnb
// 函数功能:TIM5中断使能函数
// 入口参数:TIM5中断号 使能参数
// 出口参数:无
/***************************************/
#ifdef TIM5_IntEnb_CALL
TIM5_IntEnb(uint8 Chanel,uint8 en)
if(ENB == en)
if(Chanel & TIM5_UpDate)
|= SETB0 ; //允许更新中断
if(Chanel & TIM5_InChanel1)
TIM5_IER |= SETB1 ; //开捕捉/比较1中断
if(Chanel & TIM5_InChanel2)
TIM5_IER |= SETB2 ; //开捕捉/比较2中断
if(Chanel & TIM5_InChanel3)
TIM5_IER |= SETB3 ; //开捕捉/比较3中断
if(Chanel & TIM5_UpDate)
&= ~SETB0 ; //禁止更新中断
if(Chanel & TIM5_InChanel1)
&= ~SETB1 ;
//禁止捕捉/比较1中断
if(Chanel & TIM5_InChanel2)
&= ~SETB2 ;
//禁止捕捉/比较2中断
if(Chanel & TIM5_InChanel3)
&= ~SETB3 ;
//禁止捕捉/比较3中断
#endif //TIM5_IntEnb_CALL
//*************************************
// 函数名称:Tim5In_Enb
// 函数功能:TIM5 开捕捉中断
// 入口参数:
// 出口参数:无
/***************************************/
#ifdef TIM5_InEnb_CALL
void TIM5_InEnb(uint8 en)
if(en == ENB)
TIM5_CNTRH = 0;
TIM5_CNTRL = 0;
//开捕捉/比较1.2中断
TIM5_IntEnb((TIM5_InChanel1 | TIM5_InChanel2),ENB) ;
TIM5_CR1 |= 0X01 ; //开启定时器
//关闭捕捉/比较1.2.3中断
TIM5_IntEnb((TIM5_InChanel1 | TIM5_InChanel2 | TIM5_InChanel3),DIS) ;
TIM5_CR1 &= ~0X01 ; //关闭定时器
#endif //TIM5_InEnb_CALL
//*************************************
// 函数名称:Tim5er_Enb
// 函数功能:TIM5er使能 作定时器用
// 入口参数:
// 出口参数:无
/***************************************/
#ifdef TIM5_Enb_CALL
void TIM5_Enb(uint8 en)
if(en == ENB)
TIM5_IntEnb(TIM5_UpDate,ENB) ; //使能更新中断
TIM5_CR1 |= 0X01 ; //开启定时器
TIM5_IntEnb(TIM5_UpDate,DIS) ; //禁止更新中断
TIM5_CR1 &= ~0X01 ; //关闭定时器
#endif //TIM5_Enb_CALL
//实例应用
void main(void)
//-----TIM5 初始化--------------------------
Init_TIM5_Base(30,TIM5_DIV16) ; //16M/16=1M 定时30*1U=30U中断一次
TIM5_Enb(ENB) ;
//TIM5定时器使能计数 使能中断
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'21ic官方微信-->
后使用快捷导航没有帐号?
查看: 969|回复: 9
有人知道stm8s的tim5
tim6 的中断向量号是多少吗?
&&已结帖(5)
主题帖子积分
实习生, 积分 12, 距离下一级还需 38 积分
实习生, 积分 12, 距离下一级还需 38 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 12, 距离下一级还需 38 积分
实习生, 积分 12, 距离下一级还需 38 积分
诚心求教:
我在中、英文的数据手册中都找不到tim5&&tim6 的中断向量号,如果我要用tim5\tim6的中断(不用库),那要怎么办?
满意回复+5
本帖子中包含更多资源
才可以下载或查看,没有帐号?
主题帖子积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 24, 距离下一级还需 26 积分
实习生, 积分 24, 距离下一级还需 26 积分
用的什么型号的 也不贴出来……
主题帖子积分
实习生, 积分 12, 距离下一级还需 38 积分
实习生, 积分 12, 距离下一级还需 38 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 12, 距离下一级还需 38 积分
实习生, 积分 12, 距离下一级还需 38 积分
木瓜子 发表于
用的什么型号的 也不贴出来……
STM8S903K3
主题帖子积分
中级技术员, 积分 276, 距离下一级还需 24 积分
中级技术员, 积分 276, 距离下一级还需 24 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 276, 距离下一级还需 24 积分
中级技术员, 积分 276, 距离下一级还需 24 积分
本帖子中包含更多资源
才可以下载或查看,没有帐号?
主题帖子积分
实习生, 积分 12, 距离下一级还需 38 积分
实习生, 积分 12, 距离下一级还需 38 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 12, 距离下一级还需 38 积分
实习生, 积分 12, 距离下一级还需 38 积分
神的礼物 发表于
谢谢,请问是在哪个数据手册找到的?
主题帖子积分
实习生, 积分 12, 距离下一级还需 38 积分
实习生, 积分 12, 距离下一级还需 38 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 12, 距离下一级还需 38 积分
实习生, 积分 12, 距离下一级还需 38 积分
谢谢4L帮忙!
在STM8S903K3数据手册里找到了,没认真看数据手册闹笑话了
主题帖子积分
中级技术员, 积分 276, 距离下一级还需 24 积分
中级技术员, 积分 276, 距离下一级还需 24 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 276, 距离下一级还需 24 积分
中级技术员, 积分 276, 距离下一级还需 24 积分
主题帖子积分
中级工程师, 积分 3364, 距离下一级还需 1636 积分
中级工程师, 积分 3364, 距离下一级还需 1636 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 3364, 距离下一级还需 1636 积分
中级工程师, 积分 3364, 距离下一级还需 1636 积分
进不了中断什么原因
工作永远干不完,生命却一直在倒计时
主题帖子积分
初级工程师, 积分 2736, 距离下一级还需 264 积分
初级工程师, 积分 2736, 距离下一级还需 264 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
初级工程师, 积分 2736, 距离下一级还需 264 积分
初级工程师, 积分 2736, 距离下一级还需 264 积分
看头文件,头文件里给出了中断向量的列表。
主题帖子积分
初级工程师, 积分 2559, 距离下一级还需 441 积分
初级工程师, 积分 2559, 距离下一级还需 441 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级工程师, 积分 2559, 距离下一级还需 441 积分
初级工程师, 积分 2559, 距离下一级还需 441 积分
向量中断 应该在头文件里都有的,找到这个芯片的头文件看看。
技术新星奖章
人才类勋章
时间类勋章
技术奇才奖章
人才类勋章
晶莹之水滴
发帖类勋章
沉静之湖泊
发帖类勋章
时间类勋章
技术高手奖章
人才类勋章
突出贡献奖章
等级类勋章单片机:stm8l152 的stm5 没有中断向量_百度知道
单片机:stm8l152 的stm5 没有中断向量
//a.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink">如题.baidu.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http.baidu://e.hiphotos:///zhidao/wh%3D600%2C800/sign=d9a34bfa2ecfe97b6e52f/caef76094b36acafb64a7f3e7ed98de:///zhidao/pic/item/8326cffc1e178a829ddda877e802./zhidao/wh%3D600%2C800/sign=cb0ab53da1c/8326cffc1e178a829ddda877e802.jpg" esrc="http.baidu.jpg" esrc="http<a href="http,数据手册里的这个位置为什么没有STM5呢.baidu://a.com/zhidao/wh%3D450%2C600/sign=9adab791fbba70deccffc1e178a829ddda877e802
怎么进入中断呢找不到TIM5的中断向量号??
提问者采纳
确定此芯片有tim5吗?
提问者评价
其他类似问题
为您推荐:
中断向量的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁后使用快捷导航没有帐号?
查看: 6674|回复: 4
STM8的标准库头文件包含是不是有点问题?
在线时间3 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
在stm8s_conf.h中有如下语句:
/* Includes ------------------------------------------------------------------*/
#include &stm8s.h&
在stm8s.h中有如下语句:
#ifdef USE_STDPERIPH_DRIVER
#include &stm8s_conf.h&
也就是说用标准库的时候,这两个文件会嵌套包含,这会不会有问题啊?
&&&&&&&&&&
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
我特意去看了一下官方的固件库里的,stm8s_conf.h。
没有发现你所说的语句。
&&******************************************************************************
&&* @file project\stm8s_conf.h
&&* @brief This file is used to configure the Library.
&&* @author STMicroelectronics - MCD Application Team
&&* @version V1.1.1
&&* @date 06/05/2009
&&******************************************************************************
&&* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
&&* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
&&* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
&&* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
&&* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
&&* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
&&* &h2&&center&& COPYRIGHT 2009 STMicroelectronics&/center&&/h2&
&&* @image html logo.bmp
&&******************************************************************************
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM8S_CONF_H
#define __STM8S_CONF_H
/* Includes ------------------------------------------------------------------*/
#include &stm8s.h&
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* Uncomment the line below to expanse the &assert_param& macro in the
& &Standard Peripheral Library drivers code */
/* #define USE_FULL_ASSERT& & 1 */&&
/* In the following line adjust the value of External High Speed oscillator (HSE)
& &used in your application */
#if defined (STM8S208) || defined (STM8S207)
#define HSE_VALUE ((u32)) /* Value of the External oscillator in Hz*/
#define HSE_VALUE ((u32)) /* Value of the External oscillator in Hz*/
/* Uncomment the line below to enable peripheral header file inclusion */
/************************************* ADC ************************************/
#if defined(STM8S105) || defined(STM8S103) || defined(STM8S903)
/* #define _ADC1 (1) */&&
#endif /* (STM8S105) ||(STM8S103) || (STM8S903) */
#if defined(STM8S208) || defined(STM8S207)
/* #define _ADC2 (1) */
#endif /* (STM8S208) ||(STM8S207)&&*/
/************************************* AWU ************************************/
/* #define _AWU (1) */
/************************************* BEEP ***********************************/
/* #define _BEEP (1) */
/************************************* CLK ************************************/
#ifdef STM8S208
/* #define _CAN (1) */
#endif /* (STM8S208) */
/************************************* CLK ************************************/
/* #define _CLK (1) */
/************************************* EXTI ***********************************/
/* #define _EXTI (1) */
/******************************* FLASH/DATA EEPROM ****************************/
/* #define _FLASH (1) */
/********************************* OPTION BYTES *******************************/
/* #define _OPT (1) */
/************************************* GPIO ***********************************/
/* #define _GPIO (1) */
/************************************* I2C ************************************/
/* #define _I2C&&(1) */
/************************************* ITC ************************************/
/* #define _ITC (1) */
/************************************* IWDG ***********************************/
/* #define _IWDG (1) */
/************************************* RST ************************************/
/* #define _RST (1) */
/************************************* SPI ************************************/
/* #define _SPI (1) */
/************************************* TIM1 ***********************************/
/* #define _TIM1 (1) */
/************************************* TIM2 ***********************************/
#if defined(STM8S208) ||defined(STM8S207) ||defined(STM8S103) ||defined(STM8S105)
/* #define _TIM2 (1) */
#endif /* (STM8S208) ||(STM8S207)&&|| (STM8S103) || (STM8S105)&&*/
/************************************* TIM3 ***********************************/
#if defined(STM8S208) ||defined(STM8S207) ||defined(STM8S105)
/* #define _TIM3 (1) */
#endif /* (STM8S208) ||(STM8S207)&&|| (STM8S105) */
/************************************* TIM4 ***********************************/
#if defined(STM8S208) ||defined(STM8S207) ||defined(STM8S103) ||defined(STM8S105)
/* #define _TIM4 (1) */
#endif /* (STM8S208) ||(STM8S207)&&|| (STM8S103) || (STM8S105)&&*/
/************************************* TIM5 & TIM6 ****************************/
#ifdef STM8S903
/* #define _TIM5 (1) */
/* #define _TIM6 (1) */
#endif /* STM8S903 */
/************************************* UARTx **********************************/
#if defined(STM8S208) ||defined(STM8S207) ||defined(STM8S103) ||defined(STM8S903)
/* #define _UART1 (1) */
#endif /* (STM8S208) ||(STM8S207)&&|| (STM8S103) || (STM8S903)&&*/
#ifdef STM8S105
/* #define _UART2 (1) */
#endif /* STM8S105 */
#if defined(STM8S208) ||defined(STM8S207)
/* #define _UART3 (1) */
#endif /* (STM8S208) ||(STM8S207) */
/************************************* WWDG ***********************************/
/* #define _WWDG (1) */
/* Exported macro ------------------------------------------------------------*/
#ifdef&&USE_FULL_ASSERT
&&* @brief&&The assert_param macro is used for function's parameters check.
&&* @param expr: If expr is false, it calls assert_failed function
&&*& &which reports the name of the source file and the source
&&*& &line number of the call that failed.
&&*& &If expr is true, it returns no value.
&&* @retval : None
&&#define assert_param(expr) ((expr) ? (void)0 : assert_failed((u8 *)__FILE__, __LINE__))
/* Exported functions ------------------------------------------------------- */
&&void assert_failed(u8* file, u32 line);
&&#define assert_param(expr) ((void)0)
#endif /* USE_FULL_ASSERT */
/* Peripheral header file inclusion ******************************************/
#ifdef _ADC1
#include &stm8s_adc1.h&
#endif /* _ADC1 */
#ifdef _ADC2
#include &stm8s_adc2.h&
#endif /* _ADC2 */
#ifdef _AWU
#include &stm8s_awu.h&
#endif /* _AWU */
#ifdef _BEEP
#include &stm8s_beep.h&
#endif /* _BEEP */
#ifdef _CLK
#include &stm8s_clk.h&
#endif /* _CLK */
#ifdef _EXTI
#include &stm8s_exti.h&
#endif /* _EXTI */
#if defined(_FLASH) || defined(_OPT)
#include &stm8s_flash.h&
#endif /* _FLASH/OPT */
#ifdef _GPIO
#include &stm8s_gpio.h&
#endif /* _GPIOx */
#ifdef _I2C
#include &stm8s_i2c.h&
#endif /* _I2C */
#ifdef _ITC
#include &stm8s_itc.h&
#endif /* _ITC */
#ifdef _IWDG
#include &stm8s_iwdg.h&
#endif /* _IWDG */
#ifdef _RST
#include &stm8s_rst.h&
#endif /* _RST */
#ifdef _SPI
#include &stm8s_spi.h&
#endif /* _SPI */
#ifdef _TIM1
#include &stm8s_tim1.h&
#endif /* _TIM1 */
#ifdef _TIM2
#include &stm8s_tim2.h&
#endif /* _TIM2 */
#ifdef _TIM3
#include &stm8s_tim3.h&
#endif /* _TIM3 */
#ifdef _TIM4
#include &stm8s_tim4.h&
#endif /* _TIM4 */
#ifdef _TIM5
#include &stm8s_tim5.h&
#endif /* _TIM5 */
#ifdef _TIM6
#include &stm8s_tim6.h&
#endif /* _TIM6 */
#ifdef _UART1
#include &stm8s_uart1.h&
#endif /* _UART1 */
#ifdef _UART2
#include &stm8s_uart2.h&
#endif /* _UART2 */
#ifdef _UART3
#include &stm8s_uart3.h&
#endif /* _UART3 */
#ifdef _WWDG
#include &stm8s_wwdg.h&
#endif /* _WWDG */
#ifdef _CAN
#include &stm8s_can.h&
#endif /* _CAN */
#endif /* __STM8S_CONF_H */
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
& & & & & & & & & & & & & & & &&&回楼上,你贴出的里面有 #include &stm8s.h& 这句啊,开头部分,再看看。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
& & & & & & & & & & & & & & & &&&我全部烤出来了啊。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
在stm8s.h的开始有这样几行:/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM8S_H
#define __STM8S_H复制代码注释很清楚:为了防止递归调用。
编译器第一次处理这个头文件时,没有定义过__STM8S_H,所有语句都参与编译;编译器第二次处理这个头文件时,__STM8S_H已经定义过了,这样文件中的所有语句都不再参与编译。
同样,stm8s_conf.h中也有这样的预防机制。
Powered by
逛了这许久,何不进去瞧瞧?STM8 16位通用定时器(TIM2,TIM3,TIM5) STM8应用笔记
STM8 16位通用定时器(TIM2,TIM3,TIM5)
以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!
本章介绍了STM8通用定时器TIM2,TIM3和TIM5,其中TIM2有3个通道,TIM3有2个通道,TIM5与TIM2类似但带有两个额外的寄存器,用于定时器的同步和级联。通用定时器由带有可编程预分频器的16位自动装载计数器构成。
它适用于多种场合,包括:
基本的定时
测量输入信号的脉冲长度(输入捕获)
产生输出波形(输出比较,PWM和单脉冲)
与其他定时器或外部信号同步(外部时钟,复位,触发和使能信号)(仅针对带有TIM5的芯片)定时器可由内部时钟驱动。
STM8通用定时器TIM2/TIM3的主要功能
TIM2/TIM3的功能包括:
16位向上计数和自动装载计数器
4位可编程(可以实时修改的)预分频器,计数器幂
3个独立通道:
─输入捕获
─输出比较
─PWM生成(边缘对齐模式)
─单脉冲模式输出
如下事件发生时产生中断:
─更新:计数器向上溢出,计数器初始化(通过软件)
─输入捕获
─输出比较
STM8通用定时器TIM5主要功能
TIM5的功能包括:
16位向上计数和自动装载计数器
4位可编程(可以实时修改的)预分频器,计数器时钟频率的分频系数为值为1~32768之间的2的幂
3个独立通道:
─输入捕获
─输出比较
─PWM生成(边缘对齐模式)
─单脉冲模式输出
使用外部信号控制定时器和定时器互连的同步电路
如下事件发生时产生中断:
─更新:计数器向上溢出,计数器初始化(通过软件)
─输入捕获
─输出比较
STM8通用定时器TIM2/TIM3/TIM5功能概述
(图79:TIM2/TIM3框图
(图80:TIM5框图
通用定时器包括4个中断源:
捕获/比较3中断
捕获/比较2中断
捕获/比较1中断
在使用中断功能时,需要先设置TIMx_IER寄存器的CC2IE位或CC1IE位使能中断请求。
通过软件设置TIMx_EGR寄存器的相应位也能产生不同的中断源。
STM8 16位通用定时器(TIM2,TIM3,TIM5)

我要回帖

更多关于 stm8和stm32的区别 的文章

 

随机推荐