Skip to content

Commit 6476759

Browse files
committed
Merge pull request #416 from Makuna/esp8266-sdk-1.0
correct sync use
2 parents 86ab7b9 + 87d11ab commit 6476759

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

hardware/esp8266com/esp8266/cores/esp8266/Arduino.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,13 +143,13 @@ void ets_intr_unlock();
143143
// level 15 will disable ALL interrupts,
144144
// level 0 will disable most software interrupts
145145
//
146-
#define xt_disable_interrupts(state, level) __asm__ __volatile__("rsil %0," __STRINGIFY(level) "; esync; isync; dsync" : "=a" (state))
147-
#define xt_enable_interrupts(state) __asm__ __volatile__("wsr %0,ps; esync" :: "a" (state) : "memory")
146+
#define xt_disable_interrupts(state, level) __asm__ __volatile__("rsil %0," __STRINGIFY(level) : "=a" (state))
147+
#define xt_enable_interrupts(state) __asm__ __volatile__("wsr %0,ps; isync" :: "a" (state) : "memory")
148148

149149
extern uint32_t interruptsState;
150150

151151
#define interrupts() xt_enable_interrupts(interruptsState)
152-
#define noInterrupts() __asm__ __volatile__("rsil %0,15; esync; isync; dsync" : "=a" (interruptsState))
152+
#define noInterrupts() __asm__ __volatile__("rsil %0,15" : "=a" (interruptsState))
153153

154154
#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )
155155
#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )

hardware/esp8266com/esp8266/cores/esp8266/Esp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class EspClass {
113113
uint32_t EspClass::getCycleCount()
114114
{
115115
uint32_t ccount;
116-
__asm__ __volatile__("rsr %0,ccount":"=a" (ccount));
116+
__asm__ __volatile__("esync; rsr %0,ccount":"=a" (ccount));
117117
return ccount;
118118
}
119119

0 commit comments

Comments
 (0)