历史上的今天
今天是:2024年09月30日(星期一)
2021年09月30日 | STM8-TIMER实现系统嘀嗒计时器
2021-09-30 来源:eefocus
STM8中没有系统嘀嗒计时器,所以用timer实现系统嘀嗒计时器的功能,每1ms产生一个中断。本次使用的是高速内部时钟,时钟频率是2Mhz
1. timer.c
#include "timer.h"
void systic_init(void) // TIMER2_CH1 -> PB0
{
CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE); // 使能时钟
TIM2_DeInit(); // 恢复寄存器到默认值
TIM2_TimeBaseInit(TIM2_Prescaler_2, TIM2_CounterMode_Up, 1000); // 2Mhz/2*1000
TIM2_ITConfig(TIM2_IT_Update, ENABLE); // 中断处理函数要清除中断,并jiffers自加1
TIM2_ARRPreloadConfig(ENABLE); // 自动加载
//TIM2_SetCounter();
TIM2_Cmd(ENABLE); // 使能TIM2
enableInterrupts(); // 使能全局中断
}
2. timer.h
#ifndef _TIMER_H_
#define _TIMER_H_
void systic_init(void);
#endif /* timer.h */
3. 中断处理函数
在中断处理函数中将定义的变量自加1
extern volatile long long int my_TickCounter;
INTERRUPT_HANDLER(TIM2_UPD_OVF_TRG_BRK_USART2_TX_IRQHandler,19)
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
my_TickCounter++;
TIM2_ClearITPendingBit(TIM2_IT_Update); // 清中断
}
史海拾趣
|
DCDC模块电源 电源模块电流控制及电压控制的区别 DCDC[url=http://www.bokee.net/searchmodule/weblog/search_search.do?query=模块电源&type=3]模块电源 电源模块[/url] ,电流控制法与电压控制法相比有以下优点: (1) 电流控制法 ...… 查看全部问答> |
|
难得一见的磁性元件资料,详细介绍了磁性元件发展过程和变化,还对比了国际与国内知名磁性元件厂商的特点。如日本TDK、日本TOKIN公司、西门子公司、Philips公司、南京898厂等。 … 查看全部问答> |
|
测试测量仪器被广泛应用于电子设备行业,其用户也涵盖了包括消费电子、汽车、国防、教育、政府、半导体制造、通信等诸多行业。目前全球测试测量市场可分为三个领域。即:通信测量市场、自动测试设备/半导体和通用测试设备市场。 电 ...… 查看全部问答> |
|
用turbor C运行画图的程序,run之后出现一个对话框: This system doesnot support fullscreen mode.Choose \'Close\'to terminate the application. 百度找到一个方法说是: “ 先修改属性 ...… 查看全部问答> |
|
为了提高nandflash读写速度,准备使用DMA来读nandflash的数据。在bootloader中使用如下 rDISRC0=NFDATA; // Nand flash data register rDISRCC0=(0… 查看全部问答> |
|
今天拿到了坛里发的cortex开发板,仔细研究了一下,发现芯片上的图标已经换成TI的了,下面还标着arm的图样.脑子里闪现的第一念头是:TI该不会是解决了芯片发热的问题?带着这个疑问,把板子上电,跑了一会那个自带的游戏,老的坛友都知 ...… 查看全部问答> |
|
给大家提个建议,发布共享不要重复,归纳一下,很多以前有人发过来,并且是汇总贴里面的,大家就不用发了,这样看起来很乱,特别是维普万方的文,发到一个帖子里面吧 [ 本帖最后由 fengzhang2002 于 2011-9-7 17:45 编辑 ]… 查看全部问答> |




