This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

msp430 ccsv5



在ccsv5中怎么查看程序运行时间,以及从那可以方便的知道430集成库里的函数例如——延时函数,低功耗函数等

  • 你好,

    关于运行时间,CCS这点没有KEIL好用,没有一个现实时间的窗口,你要了解一段程序跑了多久,可以在程序开始驱动GPIO高电平,在程序结束驱动GPIO低电平,通过示波器抓时间宽度。

    关于延时和低功耗你可以参考msp430xxx.h文件:

    /* Low Power Modes coded with Bits 4-7 in SR */

    #ifdef __ASM_HEADER__ /* Begin #defines for assembler */
    #define LPM0 (CPUOFF)
    #define LPM1 (SCG0+CPUOFF)
    #define LPM2 (SCG1+CPUOFF)
    #define LPM3 (SCG1+SCG0+CPUOFF)
    #define LPM4 (SCG1+SCG0+OSCOFF+CPUOFF)
    /* End #defines for assembler */

    #else /* Begin #defines for C */
    #define LPM0_bits (CPUOFF)
    #define LPM1_bits (SCG0+CPUOFF)
    #define LPM2_bits (SCG1+CPUOFF)
    #define LPM3_bits (SCG1+SCG0+CPUOFF)
    #define LPM4_bits (SCG1+SCG0+OSCOFF+CPUOFF)

    #include "in430.h"
    #include <intrinsics.h>

    #define LPM0 _bis_SR_register(LPM0_bits) /* Enter Low Power Mode 0 */
    #define LPM0_EXIT _bic_SR_register_on_exit(LPM0_bits) /* Exit Low Power Mode 0 */
    #define LPM1 _bis_SR_register(LPM1_bits) /* Enter Low Power Mode 1 */
    #define LPM1_EXIT _bic_SR_register_on_exit(LPM1_bits) /* Exit Low Power Mode 1 */
    #define LPM2 _bis_SR_register(LPM2_bits) /* Enter Low Power Mode 2 */
    #define LPM2_EXIT _bic_SR_register_on_exit(LPM2_bits) /* Exit Low Power Mode 2 */
    #define LPM3 _bis_SR_register(LPM3_bits) /* Enter Low Power Mode 3 */
    #define LPM3_EXIT _bic_SR_register_on_exit(LPM3_bits) /* Exit Low Power Mode 3 */
    #define LPM4 _bis_SR_register(LPM4_bits) /* Enter Low Power Mode 4 */
    #define LPM4_EXIT _bic_SR_register_on_exit(LPM4_bits) /* Exit Low Power Mode 4 */
    #endif /* End #defines for C */

    关于延时,你可以参考

    先做如下预定义: 
    #define CPU_F ((double)8000000)  
    #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))  其中第一行中的8000000为时钟,可以根据自己时钟设置。 然后在程序中直接条用delay_us和delay_ms即可。非常好用,入: delay_ms (1); //延时1ms delay_us(1); //延时1us delay_us(0.125); //延时0.125us