STM8S关于TIM最高频率设置的坑

发布者:yanfeng00最新更新时间:2018-07-24 来源: eefocus关键字:STM8S  TIM  最高频率 手机看文章 扫描二维码
随时随地手机看文章

前言:STM8S003配置TIM4频率设置在100kHz,即10us中断一次

问题:想要配置100k,但是顶死了60k,这么配置都上不去!

疑惑:库函数和寄存器到底有多大差别?

正文:

1 配置TIM4基本定时器(计数器只有256个)

//    TIM4_DeInit(); 
    TIM4_TimeBaseInit(TIM4_PRESCALER_16,9 );    //10us  16M/16/(9+1)=100kHz
//    TIM4_ClearFlag(TIM4_FLAG_UPDATE);              //清除标志位
    TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);         //使能更新UPDATE中断                          //计数值归零
    enableInterrupts();

    TIM4_Cmd(ENABLE); 

总共6句话,我挨个注释它到底起不起作用(老总曾说我,不从根本考虑问题,只在做表面)

2 初始化配置好了,在此之前,配置时钟,再初始化一个IO口控制亮灯

CLK->CKDIVR = 0x00;//CPU 16MHz

GPIO_Init(GPIOC, (GPIO_Pin_TypeDef)GPIO_PIN_6, GPIO_MODE_OUT_PP_LOW_FAST);

3再在it.c文件找到TIM4的中断方法

 INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23)
 {  
   TIM4->SR1 = 0;//TIM4_ClearITPendingBit(TIM4_IT_UPDATE);
   if(j==0)
   {
     j=1;
   GPIOC->ODR &=~GPIO_PIN_6;//GPIO_WriteHigh(GPIOC,GPIO_PIN_6);
   }
   else
   {
     j=0;
     GPIOC->ODR |= GPIO_PIN_6;//GPIO_WriteLow(GPIOC,GPIO_PIN_6);
   }

 } 

原谅我一上来就直接贴寄存器代码,因为被库函数害惨了

操作寄存器反转IO口,它能达到100kHz的频率

操作库函数反转IO口,最高只有60kHz

4耗时2天解决,居然是库函数导致的,尤其是中断中执行库函数,也有可能不支持STM8S003,让我对库函数越来越失望了

了结:同样频率上不去的朋友可以看看是不是寄存器和库函数影响的!


关键字:STM8S  TIM  最高频率 引用地址:STM8S关于TIM最高频率设置的坑

上一篇:STM8S PWM应用 用于设置红外38KHZ 载波
下一篇:STM8S---外部中断应用之长按键识别

推荐阅读最新更新时间:2024-03-16 16:10

STM32CUBEIDE(12)----定时器TIM捕获PWM测量频率与占空比
概述 本章 STM32 CUBEMX配置STM32F103输出PWM,并在 示波器 中查看效果。 最近在弄ST和GD的课程,需要GD样片的可以加群申请:615061293 。 生成例程 使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板 查看原理图,PA2和PA3设置为开发板的串口。 配置串口。 查看原理图,PA8设置为PWM输出管脚,PA0设置为 定时器 输入捕获管脚。 配置 时钟 树 配置时钟为64M。 配置PWM 配置定时器1输出pwm的频率为1K。 配置输入捕获 开启中断 STM32CUBEIDE配置 若需要打印浮点型,需要勾选下面的选项。 串口重定向
[单片机]
STM32CUBEIDE(12)----定时器<font color='red'>TIM</font>捕获PWM测量<font color='red'>频率</font>与占空比
stm32tim定时器AutoReload和pwm输出Pulse的关系
老是理不清定时器的自动重装载和PWM通道Pulse的关系 先说PSC和AutoReload的关系 PSC是预分频 ST32F103频率可以上到72M 举个例子: 72000000/72=1M 1/1M=1/1000000=0.000001秒 预分配会影响自动重装载的计数速度 比如上面计算的,他可以0.000001s计一个数 当计到AutoReload的值时,就会产生一个中断 /*中断回调函数*/ pwm的脉冲数Pulse: 在AutoReload的计数周期内,设置脉冲的多少。 比如说舵机 要20ms的周期,那么根据公式: 定时器时间=1/(时钟频率/预分频/计数周期) 20ms=1/(72000000/
[单片机]
stm32<font color='red'>tim</font>定时器AutoReload和pwm输出Pulse的关系
STM8S单片机入门(前言)
STM8S单片机是一款广泛使用的8位低功耗单片机,具备系统成本低、功能强大等特点。功能强大也带来了学习入门相对较难的问题。本入门教程面向无任何单片机基础的人,从开发环境的搭建开始,通过详细讲解一个典型单片机应用系统最基本设计和实现过程,帮助大家快速入门。 单片机应用系统的形态很多,但基本模式类似。以智能硬件的应用为例,各种智能硬件区别大多是输入电路(各种传感器及外部信号输入)和输出电路(控制电路、动作电路)的不同,基础部分单片机、电池和充电管理、无线数据模块都是类似的。 所以本入门教程选取包含开关机电路、锂电池充电及电源管理、蓝牙无线接口的一个单片机应用实例,通过讲解这些功能的实现过程,把 STM8S单片机的G
[单片机]
<font color='red'>STM8S</font>单片机入门(前言)
STM8S_010_I2C读写EEPROM (硬件方式)
Ⅰ 写在前面 相信看过前面那篇文章“更加深入理解 I2C总线、协议及应用”的人,对I2C都有一定的了解了。那篇文章是针对I2C使用单片机IO模拟I2C方式实现读写操作。 本文将讲述硬件I2C读写操作,也就是由处理器自身硬件的I2C实现时钟、数据的传输过程。 为方便大家阅读,本文内容已经整理成PDF文件: http://pan.baidu.com/s/1i5uWhJR Ⅱ STM8硬件I2C知识 STM8S的I2C模块不仅可以接收和发送数据,还可以在接收时将数据从串行转换成并行数据,在发送时将数据从并行转换成串行数据。可以开启或禁止中断。接口通过数据引脚(SDA)和时钟引脚(SCL)连接到I2C总线。允许连接到标准(最高
[单片机]
TIM2定时器中断与中断嵌套
/************************************************************ Copyright (C), 2012-2022, yin. FileName: main.c Author: ycw Version : 1.0 Date: 2012.04.22 Description: TIM2 EXIT0 NVIC Version: V1.0 Function List: TIM2 EXIT0 NVIC History: author time version desc YCW 12/04/22 1.0
[单片机]
STM8S单片机入门2(关机模式开关机按钮)
开关机功能是使用电池供电系统的最基本功能。如果使用机械式开关(2段拨动开关,自锁开关等)等直接接通和切断电源,不说机械部件的可靠性,至少自动关机(一般在长时间不操作、电池电量低时需要自动关机)功能就比较难实现。所以电池供电系统一般采用按钮开关,用一个按钮配合软件实现按一次开机、再按一次关机的功能及自动关机的功能。 这部分内容就讲述如何在STM8S上实现一键式的开关机功能。开关机功能要使用单片机的一个引脚(PD4)作为输入端,连接到按钮,接收按纽按下产生的电信号,然后再使用另一个引脚(PD3)作为输出端去驱动由三极管8550构成的一个电子开关实现对系统电源的控制。而STM8S单片机本身就直接接在电池上,利用单片机的停机模
[单片机]
<font color='red'>STM8S</font>单片机入门2(关机模式开关机按钮)
stm8s开发(七) SPI的使用:SPI主机通信!
  科普SPI:是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,分别是:SCK(时钟)、MOSI(主机发送数据)、MISO(主机接收数据)、NSS(片选),其中NSS的片选信号,大部分情况下我们使用的是软件NSS,即为使用一个GPIO进行软件控制片选。值得注意的是,其中SPI有4中模式:分别是空闲时SCLK的电平高低、MISO采样时第12个变化沿。   stm8s的SPI结构如下图,      如果用形象的比喻的话:SCK像一个发条齿轮,只有当发条齿轮转动的时候(SCK输出8个时钟),MOSI才能将1Byte的数据发送出去,同时,MISO将1Byte的数据接收回来。   使用SPI无非就一个初
[单片机]
<font color='red'>stm8s</font>开发(七) SPI的使用:SPI主机通信!
TI 推出业界最高动态范围124 dB 信噪比的216 kHz采样频率立体声ADC
24 位器件的低功耗与高集成度为实现卓越专业音频性能打下良好基础 2007 年 4 月 5 日,北京讯 日前,德州仪器 (TI) 宣布推出两款 24 位 216 kHz 模数转换器 (ADC),从而进一步完善了高性能音频信号链,以满足专业数字音频录制与处理应用的需求。新型双通道器件实现了高集成度与业界最高动态范围的完美结合,在确保高达 124 dB 信噪比 (SNR) 的同时,其功耗仅为同类竞争产品的 50%。更多详情,敬请访问: http://focus.ti.com.cn/cn/docs/prod/folders/print/pcm4220.html 。 Focusrite Audio Engineering 公司产品战
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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