資源簡介
Arduino多任務同時進行.rar

代碼片段和文件信息
/*****************************************************************************/
/*?SCOOP?LIBRARY?/?AUTHOR?FABRICE?OUDERT?/?GNU?GPL?V3????????????????????????*/
/*?https://code.google.com/p/arduino-scoop-cooperative-scheduler-arm-avr/????*/
/*?VERSION?1.2??NEW?YEAR?PACK?10/1/2013??????????????????????????????????????*/
/*?ENJOY?AND?USE?AT?YOUR?OWN?RISK??:)????????????????????????????????????????*/
/*?SHOULD?READ?USER?GUIDE?FIRST?(@\_/@)??????????????????????????????????????*/
/*****************************************************************************/
#include?“SCoop.h“
#define?SCINM?SCoopInstanceNickName
/*********?GLOBAL?VARIABLE?*******/
SCoopEvent*???SCoopFirstItem?=?NULL;???????????//?has?to?be?initialized?here.?hold?a?pointer?on?the?whole?list?of?task/event/timer...
SCoopEvent*???SCoopFirstTaskItem?=?NULL;???????//?has?to?be?initialized?here.?points?to?the?first?of?all?tasks?registered?in?the?list
uint8_t???????SCoopNumberTask?=?0;?????????????//?hold?the?number?of?task?registered.?used?to?calculate?quantum?in?start(xxx)
SCoop??SCoopInstanceNickName;??????????????????//?then?we?can?use?the?library?in?the?main?sketch?directly
#define?SCINM?SCoopInstanceNickName????????????//?just?a?local?nickname...
#if?SCoopANDROIDMODE?>=?1
SCoop&?ArduinoSchedulerNickName?=?SCINM;???????//?this?will?create?another?identifier?for?the?same?object?instance
#endif
/*********?ASSEMBLY?/?LETS?GET?STARTED?WITH?THE?COMPLEX?THINGS?**********/
//?original?idea?for?switching?stack?pointer?taken?out?from?ChibiOS.?
//?Credit?to?the?author.?now?slightly?modified.?
//?http://forum.pjrc.com/threads/540-ChibiOS-RTand-FreeRTOS-for-Teensy-3-0
//
//?original?idea?for?micros()?optimization?taken?from?CORE_TEENSY
//?credit?to?Paul?http://www.pjrc.com/teensy/
//************************************************************************/
#if?defined(SCoop_ARM)?&&?(SCoop_ARM?==?1)
static?void?SCoopSwitch(uint8_t?**newSP?uint8_t?**oldSP)?__attribute__((nakednoinline))?;
static?void?SCoopSwitch(uint8_t?**newSP?uint8_t?**oldSP)
{?asm?volatile?(“push????{r0?r1?r2?r3?r4?r5?r6?r7?r8?r9?r10?r11?r12?lr}“?:?:?:?“memory“);
??asm?volatile?(“str?????sp?[%[oldsp]?#0]??\n\t“
????????????????“ldr?????sp?[%[newsp]?#0]“?:?:?[newsp]?“r“?(newSP)?[oldsp]?“r“?(oldSP));
??asm?volatile?(“pop?????{r0?r1?r2?r3?r4?r5?r6?r7?r8?r9?r10?r11?r12?pc}“?:?:?:?“memory“);
};
static?inline?uint32_t?SCoopGetSP()?__attribute__?((always_inline))?;
uint32_t?SCoopGetSP()?{?register?uint32_t?val;?asm?(“mov?????%[temp]sp“?:?[temp]?“=r“?(val));?return?val;?}
#define?ARM_ATOMIC?ASM_ATOMIC?
#define?AVR_ATOMIC?
#define?SCoopMicros()???((micros_t)micros())?????//?overloading?the?standard?micros()
#endif
#if?defined(SCoop_AVR)?&&?(SCoop_AVR?==?1)
static?void?SCoopSwitch(void?*newSP?void?*oldSP)?__attribute__((nakednoinline));
static?void?SCoopSwitch(void?*newSP?void?*oldSP)
{?asm?volatile?(“push?r2??\n\t?push?r3??\n\t?push?r4??\n\t?push?r5??\n\t?push?r6??\n\t?push?r7??\n\t?push?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????854??2013-01-10?19:23??Arduino多任務同時進行\SCoop\examples\example1\example1.ino
?????文件???????6086??2013-01-11?08:43??Arduino多任務同時進行\SCoop\examples\example2\example2.ino
?????文件???????1108??2013-01-10?22:57??Arduino多任務同時進行\SCoop\examples\example3\example3.ino
?????文件???????2223??2013-01-10?19:23??Arduino多任務同時進行\SCoop\examples\example4\example4.ino
?????文件???????1893??2013-01-10?19:23??Arduino多任務同時進行\SCoop\examples\example5\example5.ino
?????文件???????2305??2013-01-10?21:08??Arduino多任務同時進行\SCoop\examples\Multiplebl
?????文件???????2426??2013-01-10?21:06??Arduino多任務同時進行\SCoop\examples\Multiplebl
?????文件???????4646??2013-01-10?23:11??Arduino多任務同時進行\SCoop\examples\performance1\performance1.ino
?????文件????????718??2012-12-10?11:14??Arduino多任務同時進行\SCoop\keywords.txt
?????文件????????165??2012-12-14?09:02??Arduino多任務同時進行\SCoop\readme.txt
?????文件???????8462??2013-01-10?19:36??Arduino多任務同時進行\SCoop\scoop?change?log.txt
?????文件??????39140??2013-01-11?08:17??Arduino多任務同時進行\SCoop\SCoop.cpp
?????文件??????34483??2013-01-11?08:44??Arduino多任務同時進行\SCoop\SCoop.h
?????文件??????14044??2018-11-21?20:57??Arduino多任務同時進行\多任務同時進行.docx
?????目錄??????????0??2018-11-21?21:00??Arduino多任務同時進行\SCoop\examples\example1
?????目錄??????????0??2018-11-21?21:00??Arduino多任務同時進行\SCoop\examples\example2
?????目錄??????????0??2018-11-21?21:00??Arduino多任務同時進行\SCoop\examples\example3
?????目錄??????????0??2018-11-21?21:00??Arduino多任務同時進行\SCoop\examples\example4
?????目錄??????????0??2018-11-21?21:00??Arduino多任務同時進行\SCoop\examples\example5
?????目錄??????????0??2018-11-21?21:00??Arduino多任務同時進行\SCoop\examples\Multiplebl
?????目錄??????????0??2018-11-21?21:00??Arduino多任務同時進行\SCoop\examples\Multiplebl
?????目錄??????????0??2018-11-21?21:00??Arduino多任務同時進行\SCoop\examples\performance1
?????目錄??????????0??2015-03-18?13:34??Arduino多任務同時進行\SCoop\examples
?????目錄??????????0??2018-11-21?21:00??Arduino多任務同時進行\SCoop
?????目錄??????????0??2018-11-21?21:00??Arduino多任務同時進行
-----------?---------??----------?-----??----
???????????????118553????????????????????25
- 上一篇:深度神經網絡LSTM序列分類應用
- 下一篇:TSM12 驅動
評論
共有 條評論