Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "sam.h"
- int main(void)
- {
- /* Initialize the SAM system */
- SystemInit();
- //Set flash wait state
- NVMCTRL->CTRLB.bit.RWS = 1;
- //Set oscillator prescaler
- OSCCTRL->OSC48MDIV.reg = OSCCTRL_OSC48MDIV_DIV(0);
- //Set CPU prescaler
- MCLK->CPUDIV.reg = MCLK_CPUDIV_CPUDIV_DIV1;
- //Set clock generator 0
- GCLK->GENCTRL[0].reg =
- GCLK_GENCTRL_GENEN |
- GCLK_GENCTRL_SRC_OSC48M;
- //EVENTS
- //Main clock
- MCLK->APBCMASK.reg |= MCLK_APBCMASK_EVSYS;
- //Channel 0 clock
- GCLK->PCHCTRL[EVSYS_GCLK_ID_0].reg = GCLK_PCHCTRL_GEN_GCLK0 | GCLK_PCHCTRL_CHEN;
- while (!(GCLK->PCHCTRL[EVSYS_GCLK_ID_0].reg & GCLK_PCHCTRL_CHEN));
- //Reset
- EVSYS->CTRLA.reg = EVSYS_CTRLA_SWRST;
- //Channel 0
- EVSYS->CHANNEL[0].reg = EVSYS_CHANNEL_PATH_ASYNCHRONOUS | EVSYS_CHANNEL_EVGEN(EVSYS_ID_GEN_TC1_MCX_0);
- //User 1
- EVSYS->USER[EVSYS_ID_USER_PORT_EV_0].reg = EVSYS_USER_CHANNEL(0);
- //PORT
- PORT->Group[0].OUTSET.reg = PORT_PA02|PORT_PA03|PORT_PA04|PORT_PA05;
- PORT->Group[0].DIRSET.reg = PORT_PA02|PORT_PA03|PORT_PA04|PORT_PA05;
- //TC1
- MCLK->APBCMASK.reg |= MCLK_APBCMASK_TC1;
- GCLK->PCHCTRL[TC1_GCLK_ID].reg = GCLK_PCHCTRL_GEN_GCLK0 | GCLK_PCHCTRL_CHEN;
- while (!(GCLK->PCHCTRL[TC0_GCLK_ID].reg & GCLK_PCHCTRL_CHEN));
- //Reset
- TC1->COUNT16.CTRLA.reg = TC_CTRLA_SWRST;
- while (TC1->COUNT16.SYNCBUSY.bit.SWRST);
- //16b mode, div 1024
- TC1->COUNT16.CTRLA.reg = TC_CTRLA_MODE_COUNT16 | TCC_CTRLA_PRESCALER_DIV1024;
- //Wave mode
- TC1->COUNT16.WAVE.reg = TC_WAVE_WAVEGEN_MFRQ;
- //MCEO0 event
- TC1->COUNT16.EVCTRL.reg = TC_EVCTRL_MCEO0;
- //CC0
- TC1->COUNT16.CC[0].reg = 0xFFFF;
- while (TC1->COUNT16.SYNCBUSY.bit.CC0);
- //Enable
- TC1->COUNT16.CTRLA.bit.ENABLE = 1;
- while (TC1->COUNT16.SYNCBUSY.bit.ENABLE);
- //PA4 toggle on EI0
- PORT->Group[0].EVCTRL.reg = PORT_EVCTRL_PORTEI0 | PORT_EVCTRL_EVACT0(3) | PORT_EVCTRL_PID0(4);
- /* Replace with your application code */
- while (1)
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement