三种操作IO口方式的不同时间

2019-07-21 04:25发布

探索者407,运行跑马灯实验,用三种不同方式去操作IO口,看执行时间(在MDK中将Debug-》Setting-》Trace-》Core设为168Mhz):
1,位带操作方式
LED0=0;  //LED0亮(此句设置一个断点)
LED1=1; //LED1灭
delay_ms(300);(此处再设置一个断点)
运行时间:70ns

2,直接操作寄存器
GPIOF->BSRRH=GPIO_Pin_9;//LED0亮(此句设置一个断点)
GPIOF->BSRRL=GPIO_Pin_10;//LED1灭
delay_ms(500);(此处再设置一个断点)
运行时间:40ns

3,直接操作库函数
GPIO_ResetBits(GPIOF,GPIO_Pin_9);  //(此句设置一个断点)
GPIO_SetBits(GPIOF,GPIO_Pin_10);   //
delay_ms(300);(此处再设置一个断点)
运行时间:100ns





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。