1、如果是IAR,和MSP430的前提下可以用IAR自带的延迟函数,优点相对精确,缺点函数只能带常量,实现方式如下:
#define CPU_F ((double)8000000) //MCU主频
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
2、软件延迟,自己写个延迟函数,中间填NOP,然后用示波器量一下,或者仿真看下汇编指令自己算算;优点灵活,缺点不那么精确;
3、配合定时器做精确延迟;优点精确,缺点要定时器配合;
|