社区
C#
帖子详情
Timer1 不进中断 Tick中断问题
zhanglei185100
2012-09-08 02:18:39
大家好,小弟是C#新手,最近在做一个小项目,使用工具里自带的Timer来实现定时发送数据的功能,我的思路是这样的,在点击启动按钮后,定时器启动,定时时间到,串口发送一组数据,发送完毕后将定时器的使能端关闭,等待数据接收,数据接收完毕后再在接受函数里在打开定时器使能端,在继续发数,但是现在发现第一次发送完毕接收后,在打开使能端不进中断了,不知是为什么?搞了一上午也没弄明白。
...全文
187
5
打赏
收藏
Timer1 不进中断 Tick中断问题
大家好,小弟是C#新手,最近在做一个小项目,使用工具里自带的Timer来实现定时发送数据的功能,我的思路是这样的,在点击启动按钮后,定时器启动,定时时间到,串口发送一组数据,发送完毕后将定时器的使能端关闭,等待数据接收,数据接收完毕后再在接受函数里在打开定时器使能端,在继续发数,但是现在发现第一次发送完毕接收后,在打开使能端不进中断了,不知是为什么?搞了一上午也没弄明白。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
soul_8750
2012-09-08
打赏
举报
回复
enable是等于ture么?
卓一航啊
2012-09-08
打赏
举报
回复
卓一航啊
2012-09-08
打赏
举报
回复
sj490790083
2012-09-08
打赏
举报
回复
因为timer是在UI线程的,当UI线程被阻塞的时候timer就不运行,只为排队等待,个人觉得串口通信还是用多线程处理比较好
zhanglei185100
2012-09-08
打赏
举报
回复
现在想了另外一种方法,不停止Tick事件,做一个全局变量,来判断是否发送,好用了,不过还是不明白为什么这里使能端关闭在打开就不好使了?
linux 定时器
内核中的延时是忙等待或者睡眠等待,为了充分利用CPU资源,使系统有更好的吞吐性能,在对延迟时间的要求并不是很精确的情况下,睡眠等待通常是值得推荐的。
tick
中断
->
tick
_sched_
timer
(
tick
_sched_handle())->update_process_times()->scheduler_
tick
()。
tick
_sched_
timer
回调函数太耗时,导致
timer
fd_tmrproc 回调函数滞后。scheduler_
tick
()具体被调用流程:
tick
中断
->
STM32脱坑【Day 6】
首先配置ioc文件,PB13作为LED口,PA3作为按键
中断
口,根据个人板子配置,端口输入输出模式,我用的面包板,结合实际电路,按键
中断
口配置为下拉输入,上升沿检测;LED口配置为无上下拉,输出模式为默认低电平(LOW)。需要将system
tick
timer
的优先级提高,也就是优先级书目字小于
中断
线3,这里设置system
tick
timer
优先级为14,EXTI3为15。如果在
中断
函数中使用了HAL_Delay()函数,还要在ioc文件中修改NVIC优先级。实验目标:
中断
中实现按键控制小灯亮灭。
C#在SerialPort_DataReceived事件中加入
timer
控件
timer
.enable启用后,不能进入
tick
事件原因。
如图,若是在其他的控件事件中启用
timer
.enable=true,则如果该事件的进程在结束后,该事件进程销毁,同时
timer
开启的事件也会销毁,从而无法进入到
timer
的
tick
事件中。 调试方法: 若在该事件中无法进入
tick
事件,在该事件中加入延时函数进行调试,(注意:延时函数不能使用 System.Threading.Thread.Sleep(1000);//延时1000毫秒 该延时函数,该延时函数在执行时,不会相应任何事件)可以使用延时方法: public static voi..
补充设定
timer
1 定时器和
timer
2 定时器定时做多件事
7. 补充设定
timer
1 定时器和
timer
2 定时器定时做多件事(教程) 原文地址:https://www.arduino.cn/thread-12452-1-1.html 下面仅仅是将原文给编辑一下,原文阅读有困难,看原文时一定看看下面的评论。 前面跟大家分享了如何自己设定Arduino内部定时器定时做事,我把在以下两篇中对于暂停/继续
timer
1 和
timer
2 的 CTC
中断
之...
杰理之
tick
_
timer
使用的注意事项【篇】
在关闭系统所有
中断
时,不会关闭完全关闭
tick
timer
,这时
tick
timer
所有的运行代码必须在RAM里面;
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章