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++
4 weeks ago
|
/*
|
||
|
* 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 */
|