Test mbed1.

Dependencies:   mbed-src

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers TPM_init.cpp Source File

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 }