HOME 教育状況公表 本日
⇒#2252@研究ノート;

ESP8266(Nefry)のtimer1割り込み

日時
関係者(共同研究者)

http://amenity.yz.yamagata-u.ac.jp/

ESP8266にはタイマーつ搭載されているようあるそのつのtimer123bit CountDown Timerになっている(https://github.c…).すなわち223-1の値までタイマーに指定できるさらにプリスケーラ1, 16, 256が搭載されている基本クロCPUクロ周波数80MHz基準しているようであるタイマー最大値はプリスケーラ256にしたときに26.8秒となるそれ以上はtimer2割り込みが使えそうであるがその関数はまだ見つかっていないなおtimer232bit CountUp Timerになっている

ライブラリークラス
https://github.c…


サンプルコード
https://github.c…

以下ダーファイルから抜粋↓
https://github.c…
//timer dividers
#define TIM_DIV1 0 //80MHz (80 ticks/us - 104857.588 us max)
#define TIM_DIV16 1 //5MHz (5 ticks/us - 1677721.4 us max)
#define TIM_DIV265 3 //312.5Khz (1 tick = 3.2us - 26843542.4 us max)
//timer int_types
#define TIM_EDGE 0
#define TIM_LEVEL 1
//timer reload values
#define TIM_SINGLE 0 //on interrupt routine you need to write a new value to start the timer again
#define TIM_LOOP 1 //on interrupt the counter will start with the same value again

#define timer1_read() (T1V)
#define timer1_enabled() ((T1C & (1 << TCTE)) != 0)
#define timer1_interrupted() ((T1C & (1 << TCIS)) != 0)

typedef void(*timercallback)(void);

void timer1_isr_init(void);
void timer1_enable(uint8_t divider, uint8_t int_type, uint8_t reload);
void timer1_disable(void);
void timer1_attachInterrupt(timercallback userFunc);
void timer1_detachInterrupt(void);
void timer1_write(uint32_t ticks); //maximum ticks 8388607

関連: Nefry


QRコード
https://edu.yz.yamagata-u.ac.jp/developer/Asp/Youzan/Laboratory/LaboNote/@LaboNote.asp?nLaboNoteID=2252

SSLの仕組み

このマークはこのページで 著作権が明示されない部分について付けられたものです。

山形大学 データベースアメニティ研究所
〒992-8510 山形県米沢市城南4丁目3-16 3号館(物質化学工学科棟) 3-3301
准教授 伊藤智博
0238-26-3573
http://amenity.yz.yamagata-u.ac.jp/

Copyright ©1996- 2019 Databese Amenity Laboratory of Virtual Research Institute,  Yamagata University All Rights Reserved.