0°

(四)msp430基础:与Energia中的启动和GPIO相关的基本功能

让我们看一下Energia IDE中经常使用的与启动和GPIO相关的一些基本功能。

 

启动时的功能

a)setup()

  • 在程序的开头调用此函数。
  • 它用于初始化变量,引脚模式等。
  • 每次上电后,或者当TI LaunchPad板重置时,它只运行一次。

 

b)loop()

  • setup函数执行完后,loop函数会反复执行。

 

/* 闪烁的板载LED连接到MSP-EXP430G2 Launchpad板的引脚2*/


/* Setup is run once at the start (Power-On or Reset) of sketch */
void setup()
{
    pinMode(2, OUTPUT); /* Pin 2 is defined as Output */
}

/* Loop runs over and over after the startup function */
void loop()
{
    digitalWrite(2, HIGH); /* Make pin 2 High, LED ON */
    delay(1000); /* Wait for 1 second */
    digitalWrite(2, LOW); /* Make pin 2 Low, LED OFF*/
    delay(1000); /* Wait for 1 second */
}

 

使用GPIO的功能

a)pinMode(pin,mode)

  • pin :选择特定模式的引脚
  • mode:函数中指定的引脚模式。它可以是INPUT,INPUT PULLUP,INPUT PULLDOWN或OUTPUT。 
  • 此功能用于配置指定为引脚(INPUT)的引脚,带上拉电阻的输入(INPUT_PULLUP),带下拉电阻的输入(INPUT_PULLDOWN)或输出(OUTPUT)。
  • Example pinMode(3,INPUT) 将数字引脚3配置为输入引脚。

 

b) digitalRead(digital_pin)

  • digital_pin :要读取的数字引脚。 
  • 该功能用于从指定的数字引脚(digital_pin)读取数字信号。
  • 该函数返回HIGH或LOW。
  • Example digitalRead(11) 读取引脚11上的值。 

 

c) digitalWrite(pin,value)

  • pin :要写入值的数字引脚。
  • value :可以是HIGH或LOW。 
  • 该功能用于将HIGH或LOW值写入数字引脚。
  • Example digitalWrite(12, HIGH)使引脚12为高电平。 

 

d)analogRead(analog_pin)

  • analog_pin :要读取其值的模拟引脚。
  • 该功能用于从指定的模拟引脚(analog_pin)读取模拟信号。
  • 该函数返回0到1023范围内的整数值。
  • Example  analogRead(A3) 读取模拟引脚A3上的值。 

 

e) analogWrite(pin,value)

  • pin :要写入值的模拟引脚。 
  • value :可以是0到255之间的任何数字.0为0%占空比,255为100%占空比。
  • 该功能用于在PWM数字引脚上产生PWM。
  • value可以是0到255之间的任何数字.0表示0%占空比,255表示100%占空比。
  • Example analogWrite(10, 128) 在引脚10上产生50%占空比的PWM波。
/* 闪烁的板载LED连接到MSP-EXP430G2 Launchpad板的引脚2 */
/* 读取MSP-EXP430G2 Launchpad板的模拟引脚A4上的模拟值 */
/* 读取MSP-EXP430G2 Launchpad板的引脚6上的数字值 */
/*外部LED的亮度控制连接到MSP-EXP430G2 Launchpad板的引脚11 */


/* Setup is run once at the start (Power-On or Reset) of sketch */
void setup()
{
    pinMode(2, OUTPUT); /* Pin 2 is defined as Output */
    pinMode(11, OUTPUT);  /* Pin 11 is defined as Output */
    pinMode(6, INPUT); /* Pin 6 is defined as Input */
}

/* Loop runs over and over after the startup function */
void loop()
{
    digitalWrite(2, HIGH); /* Make pin 2 High, LED ON */
    delay(1000); /* Wait for 1 second */
    digitalWrite(2, LOW); /* Make pin 2 Low, LED OFF*/
    delay(1000); /* Wait for 1 second */
    for(int i =0; i<256; i++)
    {
        analogWrite(11, i); /* Vary intensity of LED connected externally to pin 11 of MSP-EXP430G2 Launchpad board *//* Vary the intensity by applying PWM of duty cycle varying from 0 to 100% (writing value 0 to 255) */
        delay(300); /* Wait for 300 milliseconds */
    }

余下程序:

限制以下用户组阅读此隐藏内容

请先登录

您的用户组:
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论