Arduino - 다 중 스 레 드 라 이브 러 리 SCoop 응용 작업
2847 단어 Arduino
첫째: 인용 라 이브 러 리 \ # include "SCoop. h" [라 이브 러 리 파일 다운로드 주소]http://www.dfrobot.com.cn/community/forum.php?mod=attachment&aid=MTI4MzZ8MWFmMjk1MGF8MTQ1MDcwNTA2M3wwfD
https://share.weiyun.com/45420032c079bbf55a42f32d6a023ca2
두 번 째: setup 함수 에서 mySCoop. start () 명령 void setup () {mySCoop. start ();}
셋째: loop 함수 에서 yield () 명령 void loop () {yield () 를 호출 합 니 다.}
이제 [미 션] 을 사용 할 수 있 습 니 다.두 가지 정의 방식 이 있 습 니 다. 계속 아래 를 보 세 요. 1. 전체 정의: 정의 [작업] 의 setup 과 loop 두 함수 입 니 다."Tasktest" 라 는 이름 의 작업 을 정의 합 니 다: define Task (Tasktest); /defineTask 로 작업 을 정의 합 니 다. TaskTest void TaskTest:: setup () / 이 작업 의 setup () 함 수 를 정의 하여 설정 을 초기 화 합 니 다.{/ / 여 기 는 작업 의 setup 함수 내용} void Tasktest:: loop () / 이 작업 의 loop () 함 수 를 정의 하여 코드 를 순환 적 으로 수행 합 니 다.{/ / 여 기 는 작업 의 loop 함수 내용}
2. 빠 른 정의: 작업 의 loop 함수 만 정의 합 니 다. 이 스 레 드 에서 실행 되 는 동작 이 setup 을 초기 화 할 필요 가 없 으 면 loop 만 순환 하면 defineTaskLoop () 을 사용 하여 이 스 레 드 작업 을 빠르게 정의 할 수 있 습 니 다. 다음 과 같 습 니 다. defineTaskLoop (TaskTest 1) {/ 여 기 는 작업 의 loop 함수 내용 입 니 다}
이 라 이브 러 리 를 사용 한 후 sleep (ms) 를 지연 으로 사용 하 십시오. delay () 를 사용 하지 마 십시오.sleep (ms) 는 현재 스 레 드 만 을 대상 으로 하기 때 문 입 니 다.delay (ms) 는 전 체 를 겨냥 한 것 이다.
마지막 으로 완 성 된 프 리 젠 테 이 션 을 보 여 드 리 겠 습 니 다. LED 2 개 는 각각 100 밀리초 와 1 초 속도 로 반 짝 입 니 다.12 와 13 핀 은 각각 LED 를 연결 한 후 코드 를 실행 하여 효 과 를 봅 시다.
#include "SCoop.h"
//
defineTask(TaskTest);
void TaskTest::setup()
{
pinMode(13, OUTPUT);
}
void TaskTest::loop()
{
digitalWrite(13, HIGH);
sleep(1000);
digitalWrite(13, LOW);
sleep(1000);
}
//
defineTaskLoop(TaskTest1)
{
digitalWrite(12, HIGH);
sleep(100);
digitalWrite(12, LOW);
sleep(100);
}
void setup() {
pinMode(12, OUTPUT);
mySCoop.start();
}
void loop()
{
yield();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Digispark에서 과일을 엔터키로 만들어 보았습니다.빅 엔터키라는 낭비에 큰 엔터키가 있습니다만, 어떤 것이라도 엔터키가 되면 재미있지 않을까 생각했기 때문에, 과일이나 야채 등 무엇이든 엔터키가 되는 HID 디바이스를 만들어 보았습니다. Arduino IDE 1.8...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.