Test mbed1.
Embed:
(wiki syntax)
Show/hide line numbers
TPM_init.cpp
00001 #include "TPM_init.h" 00002 00003 void TPM0_init(unsigned int modulo_val, unsigned int prescale_val){ 00004 00005 SIM->SOPT2 |= SIM_SOPT2_PLLFLLSEL_MASK; 00006 SIM->SOPT2 &= ~(SIM_SOPT2_TPMSRC_MASK); 00007 SIM->SOPT2 |= SIM_SOPT2_TPMSRC(1); 00008 00009 SIM->SCGC6 |= SIM_SCGC6_TPM0_MASK; 00010 00011 //Set all bits to zero 00012 TPM0->SC = 0x0; 00013 00014 //Reset COUNT value to zero 00015 TPM0->CNT = 0x0; 00016 00017 //Set modulo value 00018 TPM0->MOD = modulo_val; 00019 00020 //Set prescale value 00021 TPM0->SC |= prescale_val; 00022 00023 //Enable overflow interrupt 00024 TPM0->SC |= TPM_SC_TOIE_MASK; 00025 } 00026 00027 unsigned int TPM0_SC_read() { 00028 unsigned int SC_value = TPM0->SC; 00029 return SC_value; 00030 } 00031 unsigned int TPM0_CNT_read() { 00032 unsigned int CNT_value = TPM0->CNT; 00033 return CNT_value; 00034 } 00035 00036 void TPM0_clear_overflow() { 00037 TPM0->SC |= TPM_SC_TOF_MASK; 00038 } 00039 00040 void TPM0_start() { 00041 00042 TPM0->SC |= TPM_SC_CMOD(1); 00043 }
Generated on Fri Jul 22 2022 23:40:04 by 1.7.2