void TIM4_TimerInit(u8 Timer4Time)
{
assert_param(IS_TIM4TIMERTIME_OK(Timer4Time));
TIM4_DeInit();//复位TIM4所有参数
TIM4_TimeBaseInit(TIM4_PRESCALER_16,Timer4Time);//16M/16= 1M CYCLE=1/1=1U 100us中断一次
//选择16分频 16M/16=1M 周期为1us
TIM4_Cmd(ENABLE);//使能计时器
TIM4_ITConfig(TIM4_IT_UPDATE,ENABLE);//使能TIM4中断
}
初始化时,调用:
TIM4_TimerInit(125)//定时125us中断一次
关键字:STM8S TIM4 库函数
引用地址:
STM8S TIM4库函数应用
推荐阅读最新更新时间:2024-11-10 15:28
用C库函数写文件复制程序
教程里说:相信大家熟悉了Linux系统函数之后,用C库函数来实现相似功能会感觉就容易多了。 所以尝试写出类似L系统函数的文件复制程序。 (C编程语言第二版书摘Chapter 7 - Input and Output 2中有一个使用getc,putc进行复制的示例 ) 下面是可能用到的库函数,但是用得越多出错几率越大 size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream) fread reads from stream into the array ptr at most nobj objects of size size. fread ret
[单片机]
如何使用STM8SMCU
为什么要使用STM8系列? 为项目或产品选择微控制器时,必须选择正确的微控制器。由于Microchip不断的生产和支持,PIC器件非常出色,而AVR器件包含一个非常强大的CPU(可能更多的是CISC而不是RISC)。然而,简单的原型最终可能变成商业产品,当这种情况发生时,每一分钱都很重要。 PIC控制器通常比AVR设备便宜,而AVR设备可能更难以随时编程。这就是STM8系列微控制器的用武之地,非常便宜,功能强大且速度快! 然而,ST设备存在缺陷;他们没有好的软件包,许多编译器/IDE需要购买许可证。值得庆幸的是,COSMIC(为STM设备生产C编译器)完全发布了他们的编译器,对STM8设备没有任何限制,而STM32设备仍然限制
[单片机]
采用STM8S内部时钟产生PWM(TIM2)
1 说明 采用STM8S内部时钟(HSI); PWM模式2; 占空比为50%,频率为2Hz(方便测试LED灯); PD2口外接LED灯,PD2口输出PWM波; 系统时钟初始化很重要:CLK_CKDIVR |= 0x08; 2 代码
[单片机]
【STC15库函数上手笔记】5、定时器
STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC库函数使用参考》 定时器初始化函数 Timer_Inilize TIM_InitTypeDef的定义见于文件 timer.H . typedef struct { u8 TIM_Mode; //工作模式 u8 TIM_Polity; //优先级设置 u8 TIM_Interrupt; //中断允许 u8 TIM_CIkSource; //时钟源 u8 TIM CIkOut; //可编程时钟输出
[单片机]
stm8s: GPIO配置,点亮LED!PB4,PB5引脚LED点不亮
最近两天在做STM8S103的开发,调完硬件后,就开始编写软件了,第一步当然又是点亮LED灯了,结果很尴尬的死活点不亮!后来各种百度,认真查看数据手册,才发现一个很大的坑,由于粗心大意,没有看到,做个笔记,以为备忘。 1、流程 点亮LED,流程跟STM32基本一样: (1)配置GPIO(STM8S不需要专门配置每个引脚的时钟,最开始的时候配置系统时钟即可) (2)GPIO输出高低电平 废话不说,直接上代码: 2、上代码 //FUNCKTION: LED灯GPIO口初始化 //PARA : 无 //RETURN : 无 void LED_Config() { GPIO_Init(GPIOB, GPIO_PIN
[单片机]
STM8s在利用库配置端口的小问题
在应用的时候PA2口需要设置成推挽输出,控制一个外部电源开关,端口初始化程序如下: GPIO_DeInit(GPIOA); GPIO_Init(GPIOA,GPIO_PIN_2,GPIO_MODE_OUT_PP_HIGH_SLOW); 在设置完后,端口会马上输出高电平,于是又加了一句: GPIO_WriteLow(GPIOA,GPIO_PIN_2); 完成之后,发现被供电的器件在第一次上电的时候会被触发,而程序并没有在PA2输出高电平。这个被供电器件配有供电电池如果检测到端口有高电平就会启动, 用示波器观察PA2口,发现在上电瞬间会有一个短脉冲,看来就是这个问题。查看了一下库函数的源代码: vo
[单片机]
keil5新建STM32工程总结--库函数版本
最近在重新系统学习嵌入式软件编程,先复习以前学过的STM32,今后会发一些自己的学习心得跟大家分享,欢迎大家一起讨论,一起来找茬 1、文件构成:库函数版本工程一共有四个文件夹:CORE、OBJ、STM32F10x_FWLib和USER ① USER用于存放工程文件(最好在新建工程之前创建): 在Kelil5中点击: project - New μVision Project后选择 USER文件夹作为工程文件路径 里面包含两个文件夹:Listings 和 Objects,以及两个文件.uvprojx和uvoptx Listings 和 Objects文件夹是 MDK 自动生成的文件夹,用于存放编译过程产生的中间文件;.uvpro
[单片机]
stm32 窗口看门狗[操作寄存器+库函数]
stm32有两个看门狗,独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。 独立看门狗是限制喂狗时间在0-x内,x由你的相关寄存器决定。喂狗的时间不能过晚。 窗口看门狗,所以称之为窗口就是因为其喂狗时间是一个有上下限的范围内,你可以通过设定相关寄存器,设定其上限时间和下限时间。喂狗的时间不能过早也不能过晚。 窗口看门狗的上窗口就是配置寄存器WWDG- CFR里设定的W ,下窗口是固定的0x40;当窗口看门狗的计数器在上窗口值之外,或是低于下窗口值都会产生复位。 上窗口的值可以只有设定,7位二进制数最大只可以设定为127,最小又必须大于下窗口的0x40,所以其取值范围为40~127; 窗口看门狗的
[单片机]