Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Kernel
rt_timer_create函数的参数传递
发布于 2017-05-15 14:04:25 浏览:4447
订阅该版
开了一个定时器,见黑体字 ```static rt_timer_t lx_timer2; lx_timer2 = rt_timer_create("timer2", timeout2, **first_flag**, 1500, RT_TIMER_FLAG_ONE_SHOT); rt_timer_start(lx_timer2);``` ```static void timerout2(void* parameter)``` 可是在超时函数中,进了超时函数后,parameter传递过来的值完全和first_flag不一样。跟踪了一下, 发现有函数把parameter指向地址里的值给改了。 我定义的lx_timer2是一个本地全局变量,请问为什么会被其他函数改掉呢?这个参数该如何传递呢?谢谢 ![捕获.PNG](https://oss-club.rt-thread.org/uploads/9476_977075e61c4c31bf650352c91d411f97.png) ![捕获.PNG](https://oss-club.rt-thread.org/uploads/9476_cb877c32367b4a9348bdfd627633ae7a.png)
查看更多
8
个回答
默认排序
按发布时间排序
aozima
2017-05-15
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
>发现有函数把parameter指向地址里的值给改了。 --- 请贴出这个函数,另外 你的 first_flag 是如何定义的? 如果是异常修改,说明写穿了。 可以对地址下写断点,当有其它人写穿时,调试器会停下来。
liuxueuestc
2017-05-15
这家伙很懒,什么也没写!
first_flag定义如下 ``` rt_uint8_t *first_flag; rt_uint8_t gps_flag; first_flag = &gps_flag; ``` 有几个函数修改了parameter指向的地址,比如uart2_IRQHandler 另外,请问如下图设置写0x2000922C地址断点,正确么? [attach]0[/attach]
liuxueuestc
2017-05-15
这家伙很懒,什么也没写!
再补充一下,发现第一次修改那个地址进断点的时候,没有定位到具体函数,直接弹出汇编的窗口,上下翻了汇编窗口半天,也没有看到具体是哪个函数
liuxueuestc
2017-05-16
这家伙很懒,什么也没写!
大侠们能帮忙解答下么?或者还需要提供什么信息?看了很多示例代码,很少有用到这个参数的,RTT文档里也没提过这个参数怎么用,这个位置一般都是填写NULL。研究了2天了也没啥头绪,大侠们给个思路也行啊
bernard
2017-05-16
这家伙很懒,什么也没写!
你测试给个指针看看。这个在代码有用到的,例如GUI engine中的timer都需要传递一个参数进去
aozima
2017-05-16
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
感觉楼主搞错了方向,你的问题点不是这个函数,而是数据为什么被意外篡改。 只是这个变量刚好被这个函数所引用,实际 99% 和 rt_timer_create函数 并没有任何关系。 既然都用上写断点了,不是很好查么? 另外,真不用再检查一下是否是局部变量的关系? first_flag; gps_flag; gps_flag; 这几个变量你没有明确表示是全局的。
liuxueuestc
2017-05-16
这家伙很懒,什么也没写!
[attach]2783[/attach] 据bernard指点,gui engine中也用了这个timer,但是好像参数不需要是全局变量,局部变量也可以。 设断点之后,第一个停下来的地方没有具体的代码,只是弹出了汇编窗口,无法定位到具体是代码哪个地方。
撰写答案
登录
注册新账号
关注者
0
被浏览
4.4k
关于作者
liuxueuestc
这家伙很懒,什么也没写!
提问
4
回答
10
被采纳
0
关注TA
发私信
相关问题
1
请教cpu使用率分析
2
选择FreeRTOS, 还是RT-Thread。
3
thread heap stack overflow ?
4
rtt消息队列delay问题
5
释放被删除线程的内存地方在哪里啊
6
请教:各线程结束后,释放其中的内存的连续性问题
7
STM32F103中断关于信号量、邮箱问题
8
RTT中的线程栈大小如何控制
9
关于线程由执行态变为挂起态的代码实现,,,
10
rt_malloc(rt_size_t size)内存分配函数最小分配尺寸问题
推荐文章
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 Studio V2.2.9 Release Note
2
CherryUSB的bootuf2配置
3
在用clangd开发RTT吗,快来试试如何简单获得清晰干净的工作区
4
GD32F450 片内 flash驱动适配
5
STM32H7R7运行CherryUSB
热门标签
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
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
freemodbus
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
7
个答案
2
次被采纳
a1012112796
12
个答案
1
次被采纳
Ryan_CW
5
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
6
次点赞
lizimu
2
篇文章
7
次点赞
YZRD
2
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部