野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2620|回复: 1

[rt-thread] 调换结构体的元素顺序导致运行停止

[复制链接]
发表于 2021-10-16 22:30:24 | 显示全部楼层 |阅读模式
本帖最后由 lvc 于 2021-10-16 22:33 编辑

最近在学《RT-Thread 内核实现与应用开发实战》的第一部分,那个rt_thread结构体我是这样定义的: 野火论坛202110162225208122..png


书中是这样定义的:
野火论坛202110162225104806..png


内容完全一样,只是tlist的位置不一样,但是我那样写运行一下就停到rt_tick_increase函数里了
野火论坛202110162233173015..png
需要不断按F5运行,直到线程切换13次后硬件中断
野火论坛202110162229378114..png


按照书中那样写就可以正常运行下去,
请问一下大家这是什么原因?





回复

使用道具 举报

发表于 2022-2-9 16:26:46 | 显示全部楼层
1.tlist的位置可以不和书上的一样,但是不能在前4个,因为前四个是对象结构体成员的位置
2.由于list==对象容器节点  tlist==就绪链表节点,在使用rt_list_entry(node, type, member)函数变量名注意不要写错,member的形参不要用错
3.rt_schedule()线程调度函数中关于rt_remaining_tick 的值判断的语句看一下
4.有个javascript:;
   command窗口有时候会提示一些信息
野火论坛202202091625283505..png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-23 18:47 , Processed in 0.040019 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表