www.dftb.net > STM8怎么设置定时器TIM1的10ms基准

STM8怎么设置定时器TIM1的10ms基准

假设12M晶振,使用STM8外设库实现 void timer1(void) { TIM1_DeInit(); TIM1_TimeBaseInit(12000, TIM1_COUNTERMODE_UP,10,0);//10ms TIM1_ITConfig(TIM1_IT_UPDATE, ENABLE); TIM1_Cmd(ENABLE); }

固件库里面有的,另外你把寄存器都写成零是不对的,应该把使能位置零。

把其它地方的内存用少点,全局变量设小点,堆栈也弄小点,应该就可以编译进去了。你没使用这变量,编译器件不会给它分配空间,所以能地,一旦你使用该变量,就会报错,因为此时分配不过来了。 查看原帖>>

在程序完全正确的情况下,还要根据所用的编程软件设置选项字节的。

void TIM1_Config(void) { TIM1_DeInit(); TIM1_TimeBaseInit(15, TIM1_COUNTERMODE_UP, 65535, 0);//600 Second TIM1_ITConfig(TIM1_IT_UPDATE, DISABLE); TIM1_ARRPreloadConfig(ENABLE); TIM1_Cmd(DISABLE); } void TIM2_Config(void) { TIM2...

TIM1->EGR=0x01;//初始化TIM1 TIM1时基初始化 TIM1->EGR|=0x20;//重新初始化TIM1 TIM1->PSCRH=0; //预分频 设置PWM频率 TIM1->PSCRL=0; TIM1->ARRH=0x0F; //设定重装载值 TIM1->ARRL=0x9F; TIM1->CR1=0x80;//边沿对齐,向上计数,带缓冲 TIM1->RCR...

TIM1_EGR=0x01;//初始化TIM1 TIM1时基初始化 TIM1_EGR|=0x20;//重新初始化TIM1 TIM1_PSCRH=0; //预分频 设置PWM频率 TIM1_PSCRL=0; TIM1_ARRH=0x0F; //设定重装载值 TIM1_ARRL=0x9F; TIM1_CR1=0x80;//边沿对齐,向上计数,带缓冲 TIM1_RCR=0x01;//...

不需要任何配置的,只需要设置PWM的相关寄存,配置成输下PWM,他自动就输出PWM了 #include "STM8S103K.h" //头文件,定义各寄存器的地址 void main(void) { /*定时器基础设置*/ CLK_CKDIVR= 0x00; //内部16M时钟不分频 TIM2_PSCR = 0x00; //定时器2...

void TIM1_Config(void) { TIM1_DeInit(); TIM1_TimeBaseInit(15, TIM1_COUNTERMODE_UP, 65535, 0);//600 Second TIM1_ITConfig(TIM1_IT_UPDATE, DISABLE); TIM1_ARRPreloadConfig(ENABLE); TIM1_Cmd(DISABLE); } void TIM2_Config(void) { TIM2...

TIM1_EGR=0x01;//初始化TIM1TIM1时基初始化TIM1_EGR|=0x20;//重新初始化TIM1TIM1_PSCRH=0;//预分频设置PWM频率TIM1_PSCRL=0;TIM1_ARRH=0x0F;//设定重装载值TIM1_ARRL=0x9F;TIM1_CR1=0x80;//边沿对齐,向上计数,带缓冲TIM1_RCR=0x01;//重复计数器T...

网站地图

All rights reserved Powered by www.dftb.net

copyright ©right 2010-2021。
www.dftb.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com