Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread Nano
线程
线程上下文调度切换_context
nano 3.1.5 在main函数中创建两个线程,但是不能运行
发布于 2022-05-12 18:17:05 浏览:1114
订阅该版
按照例程,在main函数中创建了两个线程 ```c /******************************************************************************* local functions *******************************************************************************/ #define THREAD_PRIORITY 25 #define THREAD_STACK_SIZE 1024 #define THREAD_TIMESLICE 5 static rt_thread_t tid1 = RT_NULL; static void thread1_entry(void *parameter) { rt_uint32_t count = 0; while (1) { rt_kprintf("thread1 count: %d\n", count ++); rt_thread_mdelay(500); } } ALIGN(RT_ALIGN_SIZE) static char thread2_stack[1024]; static struct rt_thread thread2; static void thread2_entry(void *param) { rt_uint32_t count = 0; for (count = 0; count < 10 ; count++) { rt_kprintf("thread2 count: %d\n", count); } rt_kprintf("thread2 exit\n"); } int thread_sample(void) { tid1 = rt_thread_create("thread1", thread1_entry, RT_NULL, THREAD_STACK_SIZE, THREAD_PRIORITY, THREAD_TIMESLICE); if (tid1 != RT_NULL) { rt_kprintf("FUNC[%s], LINE[%d]\n", __FUNCTION__, __LINE__); rt_thread_startup(tid1); } rt_thread_init(&thread2, "thread2", thread2_entry, RT_NULL, &thread2_stack[0], sizeof(thread2_stack), THREAD_PRIORITY - 1, THREAD_TIMESLICE); rt_thread_startup(&thread2); return 0; } /******************************************************************************* public functions *******************************************************************************/ int main(void) { uint32_t ret = E_ERROR; uint32_t loop_flag = 1; rt_kprintf("Created time: %s[%s]\n", __DATE__, __TIME__); thread_sample(); //while(1); while(1) { rt_thread_mdelay(1000); rt_kprintf("hello\n"); } if(loop_flag) { while(1) { reg32_write(TUBE_BASE_ADDR, 0x23); } } /* never reach here */ return 0; } ``` 但是创建的两个线程好像没有运行 ![image.png](https://oss-club.rt-thread.org/uploads/20220513/036fb409a1acf377332755f8fca350b6.png)
查看更多
3
个回答
默认排序
按发布时间排序
lchnu
2022-05-12
Witness, Understand, Skill
看不到你的thread1在做什么,能否贴出thread1的代码? 建议直接贴入代码,不要贴图。 这个例程是官方自带的,不会有问题,main优先级是10,在main中创建thread1和thread2,不会发生切换,直到main运行mdelay。另外,即使是thread1什么都不干,就是单纯的死循环,也不会导致thread2不运行,挺奇怪的,关注下。 不知道移植部分是否出现了问题。 2022-05-13 更新 @air_fufu 在下方的页面下载基于STM32F103的Simulator,直接贴入你的代码,将`thread_sample`函数改个名(因为和例程自带的函数重名了),然后直接Debug,没有任何问题的。 https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f103-simulator/stm32f103-simulator ![image.png](https://oss-club.rt-thread.org/uploads/20220513/1efe530b589665a10c6ebc2e8151cac2.png.webp) `如我在本贴的分析,RTT是优先级抢占式的内核。你出现的这个现象,原因肯定不在这些代码处。`
出出啊
2022-05-12
恃人不如自恃,人之为己者不如己之自为也
![image.png](https://oss-club.rt-thread.org/uploads/20220512/fb9aa0d7932d46c7c14da3164f5c3b3e.png) 这俩值偏小了,会很危险
游走在01的海洋
2022-05-13
In the end, it's not the years in your life that count. It's the life in your years.
一、大概率是线程thread1的问题 1.看log线程是申请成功了,问题是线程thread2没有打印; 2,先查看线程thread1的代码,帖上来也看看。
撰写答案
登录
注册新账号
关注者
1
被浏览
1.1k
关于作者
air_fufu
这家伙很懒,什么也没写!
提问
1
回答
0
被采纳
0
关注TA
发私信
相关问题
1
求高手指点,RTThread下nanosleep()函数功能如何实现?在线等啊
2
RTT1.2.2在新塘Nano130KE3BN的移植中始终出现栈溢出的问题
3
官方能否出一个nano在mdk下移植finsh到stm32的教程
4
从裸机开始,创建一个RT-Thread Nano系统工程
5
Nano版如何启用shell
6
项目从RTT 2.x NANO移植到 RTT 3.x ENV 环境
7
nano 版本有没有集成到 IAR 中啊?
8
关于MDK5的RT-THREAD NANO中添加MSH组件的例程
9
rtt_nano版本,源代码在哪里下载啊?
10
RTT Nano 在keil 使用C++11 的问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【RT-Thread】【ci】【scons】将ci.attachconfig.yml和scons结合使用
2
Rt-thread中OTA下载后,bootloader不搬程序
3
ulog 日志 LOG_HEX 输出时间改为本地日期时间
4
在RT-Thread Studio中构建前执行python命令
5
研究一了一段时间RTT,直接标准版上手太难,想用nano,但又舍不得组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
出出啊
1518
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
5
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部