完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用软件定时器想实现周期性发送udp报文 是不是socket不能在定时器中使用。。 谢谢 |
|
相关推荐
5个回答
|
|
你应该这么操作,在软件定时器中释放一个信号量,然后单独写一个线程来获取这个信号量,获取到之后发送数据。
|
|
|
|
|
|
|
|
出现你问题中的原因是:你在中断里面使用 socket 函数会调用 rt_malloc 申请空间,但是 rt_malloc 不应该出现在中断上下文中,因为这两个函数会操作锁,而 rtt 的中断上下文中不可以获取锁。所以提示了你问题中的话
[rt_mutex_take] shall not be used in ISR 另外 socket 创建一次就行了,每次定时器到时后直接释放信号量,然后另一个线程获取到信号量之后直接发送就行不用再次创建 socket |
|
|
|
不是的,是因为中断中不能使用锁,而 socket 函数会调用 rt_malloc 申请空间, rt_malloc 会获取锁就出错了。
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
786 浏览 0 评论
4210 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2520 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2926 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31442 浏览 11 评论
72894 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:29 , Processed in 0.732109 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号