STM8S105 单片机进行TIMER4初始化用来计时,但是只要打开全局中断就会进入中断向量表TLI中断,并且TIMER4中断服务程序似乎并没有执行,帮忙看看是怎么回事? void Timer4Init(void) { CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4, ENABLE); TIM4_TimeBaseInit(TIM4_PRESCALER_128, 125); // 8us/Tick, 125x8=1000us,1mS TIM4_ClearFlag(TIM4_FLAG_UPDATE); TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE); enableInterrupts(); TIM4_Cmd(ENABLE); } |
Briquet.rar
下载442.07 KB, 下载次数: 6, 下载积分: ST金币 -1
求一个STM8S207例程
初次接触STM8,请问在STVD中,为什么这个Struct会报错
STMS005K6T6 如何采集内部参考电压。
stm8s003 adc中断和通道切换的问题
adc施密特触发器stm8
stm8l051f3 TSSOP20 封装,待机模式下,2天后,电流突然增加到140UA
STM8S用STVP烧录怎么加密?
如何使用ST官网例程_LIN总线通讯_STM8AF
STM8 LIN
IAR代码编辑太费劲了,想问一下有没有好的方法,试了VScode但是头文件老是报错,调了很久也没调好,想换个方法了。
{
/*
* TIM4 1ms 16M
*/
CLK->PCKENR1 |= 0X10;
SoftDelay(100);
TIM4->EGR = 0X01;
TIM4->IER = 0X01;
TIM4->PSCR = 0X06;
TIM4->CNTR = 0XFA; //250
TIM4->ARR = 0XFA; //250
TIM4->CR1 = 0X01;
/* 使能全局中断 */
__asm("rim");
}
寄存器版的,STM8S系列从不用库.......晶振是16M的,定时1MS一中断....
总是进入TLI……那你看你TLI管脚有没有问题!硬件
我将PD7设置成输出模式,这时候应该没有中断了把,还是进入了TLI中断向量入口点
PD7管脚控制一个MOS管,属于输出模式,电路应该没有问题。
原因:
主要原因为官方提供的库文件stm8s_it.c文件中屏蔽了NonHandledInterrupt中断实例,但是在stm8s_it.h文件中却提供了声明 INTERRUPT void NonHandledInterrupt(void); 导致编译器不会报错,
哎,真是坑爹呀!
但至于为什么总是进入TLI中断,还不能理解,希望有懂得TLI中断的帮忙解释下TLI中断的原理。
INTERRUPT_HANDLER(NonHandledInterrupt, 25)
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
}
不明白你为什么从不用库文件,如果是中断服务程序,追求速度那最好是直接操作,但是主程序的话也无所谓吧。