Arduinoで遊ぶページ

Arduinoで遊んだ結果を残すページです。
garretlab
yield()

yield()

概要

yield()は、他のタスクに制御を移すために自らCPUを放棄するための関数です。ただし、Arduino Unoでは実際には何もしません。

ソースコード

yield()は、hardware/arduino/avr/cores/arduino/hooks.c に定義されています。以下に全ソースコードを示します。

/**
 * Empty yield() hook.
 *
 * This function is intended to be used by library writers to build
 * libraries or sketches that supports cooperative threads.
 *
 * Its defined as a weak symbol and it can be redefined to implement a
 * real cooperative scheduler.
 */
static void __empty() {
	// Empty
}
void yield(void) __attribute__ ((weak, alias("__empty")));

yield()は__empty()と定義されていて、__empty()は何もしない関数です。

attributeにweakが指定されているため、ユーザがこの関数を再定義することができます。

バージョン

Arduino 1.8.3



メニューを表示するためにJavaScriptを有効にしてください。

Arduinoで遊ぶページ
Copyright © 2016 garretlab all rights reserved.
inserted by FC2 system