Skip to content

Commit 553d3c8

Browse files
authored
Merge pull request arduino#155 from GMagician/fix-tone
Fix tone
2 parents b22e765 + e51b006 commit 553d3c8

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

cores/arduino/Tone.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ volatile bool toneIsActive = false;
3737
volatile bool firstTimeRunning = false;
3838

3939
#if defined(__SAMD51__)
40-
#define TONE_TC TC3
41-
#define TONE_TC_IRQn TC3_IRQn
42-
#define TONE_TC_GCLK_ID TC3_GCLK_ID
40+
#define TONE_TC TC2
41+
#define TONE_TC_IRQn TC2_IRQn
42+
#define TONE_TC_GCLK_ID TC2_GCLK_ID
4343
#else
4444
#define TONE_TC TC5
4545
#define TONE_TC_IRQn TC5_IRQn
@@ -80,10 +80,10 @@ void tone (uint32_t outputPin, uint32_t frequency, uint32_t duration)
8080
{
8181
firstTimeRunning = true;
8282

83-
NVIC_SetPriority(TONE_TC_IRQn, 0);
83+
NVIC_SetPriority(TONE_TC_IRQn, 5);
8484

8585
#if defined(__SAMD51__)
86-
GCLK->PCHCTRL[TONE_TC_GCLK_ID].reg = GCLK_PCHCTRL_GEN_GCLK0_Val | (1 << GCLK_PCHCTRL_CHEN_Pos);
86+
GCLK->PCHCTRL[TONE_TC_GCLK_ID].reg = GCLK_PCHCTRL_GEN_GCLK0_Val | (1 << GCLK_PCHCTRL_CHEN_Pos);
8787
#else
8888
// Enable GCLK for TC4 and TC5 (timer counter input clock)
8989
GCLK->CLKCTRL.reg = (uint16_t) (GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 | GCLK_CLKCTRL_ID(GCM_TC4_TC5));
@@ -167,8 +167,8 @@ void tone (uint32_t outputPin, uint32_t frequency, uint32_t duration)
167167
lastOutputPin = outputPin;
168168
digitalWrite(outputPin, LOW);
169169
pinMode(outputPin, OUTPUT);
170-
toneIsActive = true;
171170
}
171+
toneIsActive = true;
172172

173173
// Enable TONE_TC
174174
TONE_TC->COUNT16.CTRLA.reg |= TC_CTRLA_ENABLE;

0 commit comments

Comments
 (0)