STM8S103定时中断初始化

发布者:caoda143最新更新时间:2021-09-02 来源: eefocus关键字:STM8S103  定时中断  初始化 手机看文章 扫描二维码
随时随地手机看文章

使用timer4做一个1K的定时器中断


timer.c


void timer4_init()

{

    TIM4_IER = 0x00;    //禁止中断

    TIM4_EGR = 0x01;    //允许产生更新事件

    TIM4_PSCR = 0x06;   //计数器时钟=主时钟/2^TIM4_PSCR=16M/2^6==>16us

    TIM4_ARR = 249;     //设定重装载时寄存器

    TIM4_CNTR = 0;  //设定计数器的初值

    //定时周期=(ARR+1)*64=1ms

    TIM4_CR1 = 0x01;    //b0=1,允许计数器工作; b1=0,允许更新

    TIM4_IER = 0x01;    //允许更新中断

}


stm8_interrupt_vector.c中添加:


/* Timer4更新中断服务程序 */

@far @interrupt void TIM4_UPD_OVF_IRQHandler( void )

{

    static unsigned int ii = 0;

    if ( ii & gt; 30000 )

        ii = 1;

    else

        ii++;

    if ( ii % 1000 == 0 )

        read_adc( ADC_Channel3 );

    TIM4_SR     = 0x00;                         /* 清除更新标志 */

    PA_ODR      = PA_ODR ^ (1 & lt; < 3);    /* PA3取反 */

    TIM4_CNTR   = 0;                            /* 置0 */

    return;

}


这里实现了两个功能,一个是每秒读一次ADC同时发送到串口,另一个是为PA3反复置位,以便用示波器检测中断频率是不是1K。当然,中断函数中海需要添加:


{0x82, TIM4_UPD_OVF_IRQHandler}, /* irq23 */

还有就是系统时钟默认在启动后会8分频,所以还要对时钟初始化:


void clk_init()

{

    CLK_CKDIVR = 0x00;  //fcpu

}


关键字:STM8S103  定时中断  初始化 引用地址:STM8S103定时中断初始化

上一篇:STM8S103 ADC初始化设置
下一篇:STM8S103生成两路对称的PWM波形

推荐阅读最新更新时间:2024-11-12 14:25

stm32中定时中断的套路
首先要提到的是,在stm32中,定时器相关的库函数主要集中在固件库文件 stm32f10x_tim.h 和 stm32f10x_tim.c 文件中,所以在进行定时器方面的处理时,需要加载这两个文件进来。在进行定时器操作时,一般按如下步骤来进行: 1、打开相关外设的时钟。以定时器TIM3为例,由stm32的时钟树可以看到,TIM3时钟挂接在APB1上面,所以打开TIM3时钟时使用RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE),如果其中还使用到了其他外设,如GPIO等,再打开相关的外设时钟就可以了。 2、清除中断挂起位。由于各种不可知的因素作用,在程序运行前要操
[单片机]
芯海单片机定时中断
;============================================ ; filename: 定时器.asm ; chip : csu1181b ; author : ; date : 2012-08-14 ;============================================ include csu1181b.inc ;============================================ ; program start ;============================================ org 000h GOTO A
[单片机]
MSP430用按键中断控制定时器产生持续 1s 的周期信号
////////////////////////////////////////////////////////////////////////////////////////////////////// // 2012 年吉林省大学生电子设计大赛 C题 声源定位系统 ----(声源部分) // 要求: 有信号产生电路, 放大电路, 声音频率 800Hz 左右, 按一次键响声持续 1 秒. // 声源模块体积不超过 4cm*4cm*4cm. //==========================================================================================
[单片机]
51单片机——定时计数器中断
先写IE寄存器中断允许寄存器,再写中断处理函数就行 定时模式下触发一次中断后TH和TL的值会默认复位为0,需要在中断服务函数里重新设定初值。 例 void timer0() interrupt 1 { TH0 = 0x4b; TL0 = 0xfd; } 应用 数码管动态扫描,按键按下也能继续执行扫描
[单片机]
51单片机——<font color='red'>定时</font>计数器<font color='red'>中断</font>
STM32填坑:时钟使能必须在外设初始化之前
最近在STM32上写了一份串口通信的程序,但下载复位后串口却不能工作,初始化的代码如下: //发送/接收的GPIO、串口和中断的初始化结构体 GPIO_InitTypeDef GPIO_InitStructureTx; GPIO_InitTypeDef GPIO_InitStructureRx; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; //设置发送和接收引脚 GPIO_InitStructureTx.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructureRx.GPIO_Pin = GP
[单片机]
TQ2440国嵌学院gboot-时钟初始化
TQ2440国嵌学院gboot-时钟初始化: 1:设置lock time寄存器 2:设置分频系数(FCLK:HCLK:PCLK) 3:设定CPU到异步模式(通常FCLK不等于HCLK) 4:设置FCLK 首先了解下CPU的时钟分类: 同样在S3C2440中找到CLOCK第7章这一章如下: 从上面的文字中,可以得到FCLK主要是CPU核的工作时钟,HCLK是AHB总线(LCD,DMA)的工作时钟,PCLK是APB总线(UART,GPIO)工作时钟。 下面是CPU内部时钟电路结构图 其次是CPU的启动时钟时序: 从上图可以看出,在上电后,nRESET会拉高,clock开始起振输出时钟信号,
[单片机]
Part10-C语言环境初始化-一跃进入C大门lesson3
1、跳转到c代码 因为内存中的代码来自于垫脚石SRAM,他们是相同的。 采用绝对跳转方式来完成。 因为我们是从汇编代码跳转到c语言的程序,所以我们要提前准备一个main.c文件。 修改makefile 2、验证看跳转成功没有 使用c语言来点亮led 汇编中的led点亮 在c语言当中地址一定要有类型的故
[单片机]
Part10-C语言环境<font color='red'>初始化</font>-一跃进入C大门lesson3
STM8S103编译出错 bad struct/union operand
STM8s103P 编译出现以下结果 bad struct/union operand 是由于未宏定义芯片类型 解决方法一 在project setting里面 C Compiler 更改 Preprocessor Definitions 方法二 更改stm8s.h 将下面的 /* #define STM8S208 */ /*! STM8S High density devices with CAN */ /* #define STM8S207 */ /*! STM8S High density devices without CAN */ /* #define STM8AF52Ax */ /
[单片机]
<font color='red'>STM8S103</font>编译出错 bad struct/union operand
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved