让我们看一下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 */
}
余下程序: