parent
d3a0185027
commit
b353cd23d7
5
Sys.cpp
5
Sys.cpp
|
@ -505,7 +505,7 @@ void TSys::ToHex(byte* buf, byte* src, uint len)
|
||||||
#define __TASK__MODULE__ 1
|
#define __TASK__MODULE__ 1
|
||||||
#ifdef __TASK__MODULE__
|
#ifdef __TASK__MODULE__
|
||||||
// 创建任务,返回任务编号。priority优先级,dueTime首次调度时间us,period调度间隔us,-1表示仅处理一次
|
// 创建任务,返回任务编号。priority优先级,dueTime首次调度时间us,period调度间隔us,-1表示仅处理一次
|
||||||
uint TSys::AddTask(Action func, void* param, uint dueTime, int period)
|
uint TSys::AddTask(Action func, void* param, ulong dueTime, long period)
|
||||||
{
|
{
|
||||||
// 屏蔽中断,否则可能有线程冲突
|
// 屏蔽中断,否则可能有线程冲突
|
||||||
SmartIRQ irq;
|
SmartIRQ irq;
|
||||||
|
@ -524,7 +524,8 @@ uint TSys::AddTask(Action func, void* param, uint dueTime, int period)
|
||||||
task->NextTime = Time.Current() + dueTime;
|
task->NextTime = Time.Current() + dueTime;
|
||||||
|
|
||||||
_TaskCount++;
|
_TaskCount++;
|
||||||
debug_printf("添加任务%d 0x%08x FirstTime=%dus Period=%dus\r\n", task->ID, func, dueTime, period);
|
// 输出长整型%ld,无符号长整型%llu
|
||||||
|
debug_printf("添加任务%d 0x%08x FirstTime=%lluus Period=%ldus\r\n", task->ID, func, dueTime, period);
|
||||||
|
|
||||||
return task->ID;
|
return task->ID;
|
||||||
}
|
}
|
||||||
|
|
4
Sys.h
4
Sys.h
|
@ -112,7 +112,7 @@ private:
|
||||||
int ID; // 编号
|
int ID; // 编号
|
||||||
Action Callback;// 回调
|
Action Callback;// 回调
|
||||||
void* Param; // 参数
|
void* Param; // 参数
|
||||||
int Period; // 周期us
|
long Period; // 周期us
|
||||||
ulong NextTime; // 下一次执行时间
|
ulong NextTime; // 下一次执行时间
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ private:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// 创建任务,返回任务编号。dueTime首次调度时间us,period调度间隔us,-1表示仅处理一次
|
// 创建任务,返回任务编号。dueTime首次调度时间us,period调度间隔us,-1表示仅处理一次
|
||||||
uint AddTask(Action func, void* param, uint dueTime = 0, int period = 0);
|
uint AddTask(Action func, void* param, ulong dueTime = 0, long period = 0);
|
||||||
void RemoveTask(uint taskid);
|
void RemoveTask(uint taskid);
|
||||||
void Start(); // 开始系统大循环
|
void Start(); // 开始系统大循环
|
||||||
void StartInternal();
|
void StartInternal();
|
||||||
|
|
|
@ -138,7 +138,7 @@ void RenewDHCP(void* param)
|
||||||
|
|
||||||
void Dhcp::Start()
|
void Dhcp::Start()
|
||||||
{
|
{
|
||||||
int s = 3;
|
int s = 10;
|
||||||
_expiredTime = Time.Current() + s * 1000000;
|
_expiredTime = Time.Current() + s * 1000000;
|
||||||
dhcpid = (uint)Time.Current();
|
dhcpid = (uint)Time.Current();
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@ void Dhcp::OnReceive(UDP_HEADER* udp, MemoryStream& ms)
|
||||||
debug_printf("DHCP IPLeaseTime:%ds\r\n", time);
|
debug_printf("DHCP IPLeaseTime:%ds\r\n", time);
|
||||||
|
|
||||||
// DHCP租约过了一半以后重新获取IP地址
|
// DHCP租约过了一半以后重新获取IP地址
|
||||||
if(time > 0) Sys.AddTask(RenewDHCP, Tip, time / 2 * 1000000, -1);
|
if(time > 0) Sys.AddTask(RenewDHCP, Tip, (ulong)time / 2 * 1000000, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//return true;
|
//return true;
|
||||||
|
|
Loading…
Reference in New Issue