MIOW_9186
MIOW_9186

注册于 1 year ago

回答
2
文章
0
关注者
0

刚把wizet更新到最新版本的,试了下,如果一开机就不插网线,任然会在wiz_dhcp_work函数里卡很久才出来

出错点在if(rt_i2c_transfer(dev->i2c, msgs, 2) == 0)这处调用,rt_i2c_transfer(dev->i2c, msgs, 2)的返回值可能是负的,而这里没做判断,我不知道应该在哪里进行修改合适。

bernard 发表于 2019-10-14 16:59
你不用管内核,内核里的都是考虑过的。没有所以


请问版主,那我如果想获取时间差,直接减就行了吗,或者我想知道是不是过了2个滴答定时器,能不能调用rt_tick_get获取当前值为curr,然后不断调用该函数获取值,直到值等于curr+2,这样做可行吗

bernard 发表于 2020-1-15 16:15
RT_IPC_CMD_RESET,没这个说法吧。如果都是这么用,那没法用了。除非这个是有什么特殊目的

需要的话,也可 ...


while (rt_device_read(serial, 0, &ch, 1) == 0)
{
rt_sem_control(&rx_sem, RT_IPC_CMD_RESET, RT_NULL);
rt_sem_take(&rx_sem, RT_WAITING_FOREVER);
}

来自你们的编程手册,12.3节,串口接收不定长数据的demo代码里

yangjie 发表于 2019-12-23 11:40
rt_thread_delay
rt_thread_mdelay
rt_thread_sleep


rt_thread_suspend() 手册里说这个函数不建议使用,假如A线程调用rt_thread_mdelay(10),阻塞10个毫秒,然后转到B线程,B线程调用rt_thread_suspend()函数将A线程挂起,然后一直在B线程,(A线程优先级最高),B线程一直没用调用rt_thread_resume函数来恢复A线程,10Ms以后是不是A线程任然会抢占CPU呢。

yangjie 发表于 2019-12-20 15:42
任务挂起可以通过自主挂起 或者 IPC 阻塞或者其他阻塞的方式。

开关调度器有一对函数: rt_enter_critical ...


请问自主挂起如何操作,调用的API是哪个

发布
问题