msp430单片机的"msp430f169.h"头文件中的 #define SHT0_0 (0*0x100u) #def

1个回答

  • #define A B

    A宏名,B宏内容

    编译预处理中,程序中,所有A的宏,将用B的定义替换.

    #define PI 3.14

    程序中所有出现PI的地方,将用浮点型常量,3.14代替.

    0*0x100u结果是0.u表示无符号常量.加括号,可以提高在实际程序中的运算优先级.

    如初始化ADC12的程序:

    ADC12CTL1 = SHS_1 + SHP + CONSEQ_2; // TA trig., rpt conv.

    ADC12MCTL0 = SREF_1 + INCH_10; // Channel A10, Vref+

    ADC12IE = 0x01; // Enable ADC12IFG.0

    ADC12CTL0 = SHT0_8 + REF2_5V + REFON + ADC12ON + ENC; // Config ADC12

    再理解上一段程序,就懂了.后面的内容是配置的参数,程序编译后,实际上这些内容都是常量.

    这种做法主要目的是增强程序的可读性.