您好,我使用
os_timer_arm_us
生成占空比为 50% 的 4uS 方波,但这会产生
4mS方波!!!我的错误是什么?谢谢
代码:
全选#define out_pin 5
volatile unsigned long timeSpent=1;
volatile int toggle;
unsigned long prevMillis=0;
unsigned long current_time=0;
extern "C" {
#define USE_US_TIMER
#include "user_interface.h"
#include "osapi.h"
#define os_timer_arm_us(a, b, c) ets_timer_arm_new(a, b, c, 0)
}
os_timer_t t0;
void myIsrTimer(void*z)
{
current_time = micros();
timeSpent = current_time - prevMillis;
prevMillis = current_time;
//toggle = (toggle == 1) ? 0 : 1;
//digitalWrite(out_pin,toggle);
}
void setup() {
pinMode(out_pin, OUTPUT);
os_timer_setfn(&t0, myIsrTimer, NULL);
os_timer_arm(&t0, 4, true);
// Initialise Serial connection
Serial.begin(115200);
}
void loop() {
Serial.print(timeSpent);Serial.print(" ");
}