大家好!
关于STM8S003的中断响应时间,经测试时耗时9us,能否加快!
采用网上例程:《第三讲_库函数移植_GPIO外部中断》程序如附件:
系统采用最简系统,取内部16MRC时钟,不分频。
PC5中断信号输入,
PD2电平取反输出。
在PC5口线加上20us的低电平脉冲,
但是PD2上的电平取反输出延时将近9us,
请各位高手指点,为什么中断响应这么久,可否缩短,怎么改进。
谢谢大家!
用自己写的程序也是如此。中断响应时间都是9us左右。
在stm8_it.c中中断处理程序
INTERRUPT_HANDLER(EXTI_PORTC_IRQHandler, 5)
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
GPIO_WriteReverse(GPIOD , GPIO_PIN_2); //对LED1灯进行异或取反控制
}
在main.c程序如下:
void KEY2_Init()
{
GPIO_Init(GPIOC , GPIO_PIN_5 , GPIO_MODE_IN_PU_IT); //配置PA3为带上拉电阻并产生中断的输入
EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOC , EXTI_SENSITIVITY_FALL_ONLY); //配置PC端口为下降沿产生中断
}
void LED1_Init()
{
GPIO_Init(GPIOD , GPIO_PIN_2 , GPIO_MODE_OUT_PP_LOW_FAST); //配置PD2为输出
}
int main(void)
{
disableInterrupts(); //首先关闭系统的总中断
CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1); // 配置系统时钟为1分频,即系统时钟为16MHZ
LED1_Init();
KEY2_Init();
enableInterrupts(); //打开系统的总中断
while(1);
}
20191026-中断例程-9us后中断响应.jpg (139.6 KB, 下载次数: 0)
下载附件
2019-10-28 09:03 上传
库函数移植_GPIO外部中断.rar
(2.69 MB, 下载次数: 4)
2019-10-28 09:04 上传
点击文件名下载附件
外部中断
iar 1.4版本
基本搞定了,编译环境设置成速度最快,延时为3us,谢谢大家!
另外中断里调用库函数肯定慢
一周热门 更多>