You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
966 B
C++
49 lines
966 B
C++
/*
|
|
* CPUTimers.cpp
|
|
*
|
|
* Author: Aleksey Gerasimenko
|
|
* gerasimenko.aleksey.n@gmail.com
|
|
*/
|
|
|
|
#include "DSP28335/CPUTimers.h"
|
|
|
|
namespace DSP28335
|
|
{
|
|
//CONSTRUCTOR
|
|
CPUTimers::CPUTimers(CPUTIMER_VARS& CPUTimer):
|
|
DSP28335::CPUBase(),
|
|
CPUTimer(CPUTimer)
|
|
//
|
|
{}//end CONSTRUCTOR
|
|
|
|
void CPUTimers::setup(const CPUTimersSetup& setup)
|
|
{
|
|
if(m_mode == DSP28335::CPUBase::UNDEFINED)
|
|
{
|
|
InitCpuTimers();
|
|
ConfigCpuTimer(&CPUTimer, setup.frequency, setup.period); // 1ms
|
|
//
|
|
m_mode = DSP28335::CPUBase::OPERATIONAL;
|
|
//
|
|
}//end if
|
|
//
|
|
}//end
|
|
//
|
|
// #pragma CODE_SECTION("ramfuncs");
|
|
void CPUTimers::start()
|
|
{
|
|
//
|
|
CPUTimer.RegsAddr->TCR.bit.TSS = 0;
|
|
//
|
|
}//end
|
|
//
|
|
// #pragma CODE_SECTION("ramfuncs");
|
|
void CPUTimers::interrupt_ack()
|
|
{
|
|
// Acknowledge this interrupt to receive more interrupts from group 1
|
|
PieCtrlRegs.PIEACK.all |= PIEACK_GROUP1;
|
|
//
|
|
}//end
|
|
//
|
|
} /* namespace DSP28335 */
|