Thread 中讨论的其他器件:SYSBIOS
工具/软件:TI-RTOS
你(们)好。
我´m 构建一个时钟函数来执行两项操作:建立10秒周期(我的任务在执行后将睡眠这么多)并创建一个日期和实时时钟(小时、分钟、秒和毫秒)。 我使用 Clock_getTicks()来生成10秒周期计数器。 1小时11分钟后问题溢出、时钟不再工作。 有人可以帮助我处理此溢出吗? 我的时钟代码段
uint32_t adcMyan、absTime、absTimeOld、absPeriod、absPeriodSec;
unsigned int period = 10;
void clkFxn (void){
static unsigned int firsttime = 0;
absTimeOld = absTime;
absTime = Clock_getTicks()*Clock_tickPeriod/1000;
absPeriod = absTime - absTimeOld;
if (absTime < absTimeOld){
absTime = 0;
absTimeOld = 0;
absPeriod = 10000;
}
absPeriodSec =absPeriod/(Period*100);
if (absPeriodSec <周期){
relogio.msec = relogio.msec +(absPeriod -(period-1)*1000);
}
否则{
relogio.msec = relogio.msec +(absPeriod - period*1000);
}
之后、只需从毫秒转换为秒、从秒转换为分钟、以此类推。
谢谢!