(六)msp430基础:定时器和中断相关的基本功能

释放双眼,带上耳机,听听看~!

定时器函数

a) millis()

  • 此函数返回自Launchpad板开始运行当前程序以来经过的毫秒数。
  • 大约50天后,这个数字溢出(回滚到零)。
  • millis返回的值是unsigned long int。
  • Example 无符号长时间
  •          = millis()

 

b)micros()

  • 此函数返回自Launchpad板开始运行当前程序以来经过的微秒数。
  • 大约70分钟后,此数字溢出(回滚到零)。
  • micros返回的值是unsigned long int。
  • Example 无符号长时间
  •                  = micros()

 

c)delay(value)

  • value :暂停程序的毫秒数。
  • 此函数暂停程序指定的毫秒数。

 

d)delayMicroseconds(value)

  • value :暂停程序的微秒数。
  • 此函数暂停程序指定的微秒数。

 

e)sleep(value)

  • value :将微控制器发送到睡眠模式的毫秒数。
  • 此功能使微控制器进入睡眠模式达指定的毫秒数。它比使用delay()更好,因为它节省了功耗和时钟周期。

 

/* 定时器程序 */


unsigned long time_value;

/* Setup is run once at the start (Power-On or Reset) of sketch */
void setup()
{
  pinMode(2, OUTPUT); /* Pin 2 is defined as Output */
  Serial.begin(9600); /* opens serial port, sets data rate to 9600 bps */
}

/* Loop runs over and over after the startup function */
void loop()
{
  digitalWrite(2, HIGH); /* Make pin 2 HIGH */
  delay(2000); /* Wait for 2 seconds */
  digitalWrite(2, LOW); 
  delayMicroseconds(100); /* Wait for 100 microseconds */
  Serial.print("Time passed since power on in milliseconds:"); 
  time_value = millis(); /* Read value of number of microseconds since program started executing */
  Serial.println(time_value);
  delay(2000);
  Serial.print("Time passed since power on in microseconds:");
  time_value = micros(); /* Read value of number of milliseconds since program started executing */
  Serial.println(time_value);  
  sleep(1000); /* Put the controller in sleep for 1 seconds */
}

 

 中断函数

a)interrupts()

  • 该函数在被noInterrupts()禁用后重新启用中断。

 

b)noInterrupts()

  • 此功能禁用中断。
  • 可以使用interrupts()重新启用中断。

 

c)attachInterrupt(interrupt, ISR, mode)

  • interrupt 是要监视中断事件的引脚号。
  • ISR:发生中断事件时要调用的ISR。此函数必须不带参数,不返回任何内容。
  • mode :决定哪个事件应该导致中断。有4个选项可供选择。

i) LOW(MSP430和C2000不可用)

   引脚为低电平时产生中断。

ii)CHANGE

   每当引脚改变值时产生中断。

iii)RISING

   引脚从低电平变为高电平时产生中断。

iv)FALLING

   引脚从高电平变为低电平时产生的中断。

给TA打赏
共{{data.count}}人
人已打赏
msp430/Arduino-基础

(五)msp430基础:与Energia中的串行通信相关的基本功能

2019-5-7 22:16:15

msp430/Arduino-基础

(七)msp430基础:将新库添加到Energia IDE并使用它

2019-5-8 22:38:13

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
'); })();