历史上的今天
今天是:2025年01月11日(星期六)
2020年01月11日 | stm8s定时中断
2020-01-11 来源:eefocus
stm8s定时器有高级定时器TIM1,通用定时器TIM2,TIM3,TIM5,以及基本定时器TIM4,TIM6。定时中断配置基本一样。需要注意的也就是分频不同,定时器位数不同。16位定时器配置后面再说,这里以基本定时器TIM4为例,产生2ms中断,配置如下:
TIM4_IER_UIE = 1;//使能TIM4溢出中断
TIM4_PSCR = 0x06; //配置TIM4 64分频,8us记一次数
TIM4_ARR = 0xF9; //自动重装载的值->249,2ms中断
TIM4_CNTR = 0xF9;
TIM4_CR1_CEN = 1; //使能TIM4计数
说明:主时钟为8M,根据手册,带入数值8000000/(2^6)=125000Hz,1/125000=8us,8*(0xF9+1)=2000us=2ms
中断函数如下:
/* Defines an interrupt handler for TIM4 vector. */
#pragma vector=25
__interrupt void TIM4_IRQHandler(void)
{
TIM4_SR_UIF = 0;//清中断标志
}
注意:这里中文手册翻译有误,基本定时器只有SR寄存器
上一篇:stm8s uart配置
下一篇:STM8串口初始化寄存器配置
史海拾趣
|
做了一段时间嵌入式,发现自己憔悴了很多 又研究硬件,看电路图,DATASHEET,又要搞代码,方案公司的代码长的不得了,有时候真想一头装死,还是舍不得。。。 真的太累啊[ … 查看全部问答> |
|
问题如标题。我需要用应用程序实现一个简单的客户端,需要调用winsnmp的API。但是我发现wince下打不开winsnmp.h头文件。有人在这下面用过吗?… 查看全部问答> |
|
在keilc51中我用c语言要写个精确的时间,怎么写?(不可以用中断) 在keilc51中我用c语言要写个精确的时间,怎么写?(不可以用中断) 如:12MHz晶振 void dalay() { uchar i,j,k; for(i=0;i… 查看全部问答> |
|
dsp builder7.2中altbus没有Node Type选项是怎么回事?给点思路就给分! 我装的是matlab r2007a quartus 7.2 dspbuilder 7.2 使用dspbuilder 时发现altbusaltbus没有Node Type选项,请问是怎么回事? 如果版本错了,问哪个版本合适,最好给个链接,不胜感激!… 查看全部问答> |
|
需要开发如下项目: 基本需求: 使用视频处理芯片处理两个信号: 其一,由摄像头获得的实时视频(模拟或数字信号) 其二,某一个预制好的两色BMP文件(黑白)。 将1和2叠加,叠加方法为将黑色部分保留,白色部分设置成透明的 白色地方就可以 ...… 查看全部问答> |
|
问题1.怎样在89C51 P0 口加入外部上拉装置,具体接法是怎样的? 2.请大家解释P1口内部上拉电阻和P0口没内部上拉电阻在单片机控制输出、输入应用的差别, 到底在接入负载如数码管的控制有何差别?? 书本的 ...… 查看全部问答> |
|
猜猜看,这是什么? 这个带有法拉利标志的头盔,实际上是一款咖啡机。将头盔的护目镜打开,就可以看到隐藏在其中的咖啡操作台。为了起到更好的装饰作用和隐蔽效果,咖啡机的操作按钮都隐藏在滑片之后。您可以将它 ...… 查看全部问答> |




