双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

通信线程中怎样使用定时器?

wugamp wugamp 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
编程环境 C# ,用 SerialPort 做串口通信。
为了发现超时,在串口通信线程中创建一个定时器,代码如下:
public void comm_TimeOut2(object sender, EventArgs e)//定时器响应函数
{
int i = 3;//这句代码是象征性的,其实是要修改几个全局变量
System.Windows.Forms.Timer t = (System.Windows.Forms.Timer)sender;
t.Stop();//关闭本定时器,防止重复运行

}

System.Windows.Forms.Timer oCommTimer = new System.Windows.Forms.Timer();

private void Thread_param(object oParam) //这是个带参数的线程,在主线程中用 new Thread 来启动它
{
oCommTimer.Interval = 300;
oCommTimer.Tick += new EventHandler(comm_TimeOut2);
oCommTimer.Start();
}

结果发现:定时器设置成功了,enabled 也是 true 了,但就是不进入响应函数,等于是没有运行。
但是,如果把线程里的启动代码挪到按钮里,就正常运行了。
难道只能在主线程中使用 System.Windows.Forms.Timer 吗?请问怎么解决呢?
谢谢!
...全文

相关推荐

EM773 SPI与定时器实战:Microwire协议与PWM生成详解

在嵌入式系统开发中,SPI(串行外设接口)和定时器是两大核心外设,分别负责设备间通信与精准定时控制。SPI作为一种同步串行通信协议,通过主从架构和全双工模式实现高效数据传输,其变种如Microwire协议则扩展了半双工命令-响应模型的应用场景。定时器模块通过预分频器和匹配/捕获功能,能够生成精确的PWM波形或测量外部信号,是电机控制、传感器驱动的关键技术。本文以NXP EM773微控制器为例,深入解析其SPI0模块如何支持Microwire协议帧格式,并详细探讨16/32位定时器在PWM生成与信号捕获中的配

太空X基地

单片机电压方波发生器设计:从DAC、运放到定时器的工程实现

在嵌入式系统与模拟电路设计中,信号发生器是连接数字世界与物理世界的关键设备。其核心原理在于通过微控制器的精确时序控制,结合数模转换技术,生成可编程的模拟信号。DAC(数模转换器)负责将数字代码转换为精确的模拟电压,而运算放大器构成的电压跟随器则起到阻抗变换和缓冲驱动的关键作用,确保信号带载能力与稳定性。这项技术的工程价值在于实现了频率、占空比和电压幅值的全数字化可调,极大地提升了测试与开发场景的灵活性。本文以蓝桥杯真题“电压方波发生器”为具体案例,深入剖析了如何利用单片机定时器产生基波,并通过DAC与运放调

axfcjwkbi259888707

串口通信以及波特率计算方法

串口通信 51单片机内部自带UART(Universal Asynchronous Receiver Transmitter,通用异步收发器),可实现单片机的串口通信 RS-232 也称标准串口,最常用的一种串行通讯接口,比如我们的电脑主机的9针串口 ,最高速率为20kb/s RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其传送距离最大为约15米。所以RS-232适合本地设备之间的通信 硬件电路 简单双向串口通信有两根通信线(发送端TXD和接收端RXD) TXD与RXD要交叉连接 当只需单向的

ONE_Day|

YOLO26算法皮革表面缺陷检测+训练好的模型+124张数据集+pyqt可视化界面.zip

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[颜色(color), 切(cut), 折叠(fold), 胶水(glue), 好的(good), 戳(poke)] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 68 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.7582** mAP50-95 | 0.4306 Precision | 0.6226 Recall | 0.6520 train/box_loss | 0.8731 train/cls_loss | 2.3543 val/box_loss | 1.3709 val/cls_loss | 3.9767 【训练过程分析】 从一开始的配置就定下了基调,训练配置包括了 yolo26n 模型、100 个 epoch,学习率初始设为 0.01,输入尺寸定为 640x640,批次大小为 24。这组配置在开始阶段表现得不错,模型刚开始训练时的 loss 降低得很快,这表明模型能够迅速从数据中吸收信息。但到了中后期,loss 曲线变得愈发平缓,从第 50 个 epoch 开始,即使我增加了学习率衰减的频率,仍然感到曲线在挣扎,像是陷入了平台期。这期间模型的收敛节奏明显减缓,似乎有些“停滞不前”的迹象。到了最后,模型确实收敛了,但在第 68 个 epoch 时 mAP50 获得了 0.7582 的值,这是一个不错的成绩,但与理想值相比仍有提升空间。... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

guo_xiao_xiao_

视频编码压缩11111

视频编码压缩11111

Nickseness
评论 3
收藏 已收藏
分享
返回顶部
wugamp
通信技术 4,397 成员 28,909 内容