有个问题困扰小弟很久了,应该是延时或者缓冲区的问题,贴代码,大家帮看看哪里要修改的

sun54279335 2009-04-13 09:46:09
//发送彩信
public int SendMMS(SerialPort comm)
{
int DataByte = 0;
byte[] RecvData;
string temp = "";
string str = "AT$MMSSEND" + HUICHE;//发送彩信的命令,发送彩信的前置条件已经在前面设置
comm.Write(str);//串口写入
Thread.Sleep(MAX_DELAY_TIME1);//延时
DataByte = comm.BytesToRead;//通信返回的字节数
if (DataByte > 0)
{
RecvData = new byte[DataByte];

comm.Read(RecvData, 0, DataByte);//读出串口缓冲区的数据
temp = System.Text.Encoding.ASCII.GetString(RecvData);//编码
if ((temp.IndexOf("ok") >= 0) || (temp.IndexOf("OK") >= 0))
{
//if (CheckMMSTRACE(comm, 1) == 1)
// return 1;
//else
// return 0;
//pt.Increment(30);
return CheckMMSTRACE(comm, 1, temp/*, pt*/);

}
else
return 0;
}
else
return 0;
}

我现在的问题是如果temp 里面返回值里包含OK字符串的话,那么彩信就发送成功了,可是现在接收到得temp 里面没有ok字符串手机仍然能收到彩信,也就是说temp里面理论上应该有“OK”字符串,但跟踪程序发现里面没有“OK”字符串,请问大家程序哪里有问题呢???谢谢!!
...全文
54 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jie3614 2009-04-13
  • 打赏
  • 举报
回复
不清楚 你设置延时时间长点试试
sun54279335 2009-04-13
  • 打赏
  • 举报
回复
我跟踪程序的时候temp里面有时候包含OK字符串,有时候没有OK字符串
【电力系统】针对火电机组 + 电池储能系统(ESS)联合调峰场景,以一周(168小时)为调度周期,通过混合整数线性规划(MILP)求解最优机组组合与经济调度方案研究(Matlab代码实现)内容概要:本文系统研究了二自由度机械臂的模型预测控制(MPC)技术,围绕其强耦合、非线性、多约束的动力学特性,构建了完整的MPC设计框架,涵盖预测模型、目标函数、约束条件与在线求解四个核心环节。文章详细分析了线性MPC、反馈线性化MPC和非线性MPC三种典型算法的原理、设计方法与性能差异,并针对模型不确定性、外部扰动和实时性等挑战,探讨了鲁棒MPC、自适应MPC、事件触发MPC及智能混合MPC等改进策略。通过MATLAB/Simulink仿真实验,对比了不同算法在静态点跟踪、动态轨迹跟踪、约束满足和抗干扰等方面的性能,验证了MPC在提升控制精度、响应速度和系统鲁棒性方面的显著优势。; 适合人群:具备自动控制、机器人学或机电一体化等相关专业背景,熟悉MATLAB/Simulink仿真工具,从事先进控制算法研究或应用的研究生、科研人员及工程师。; 使用场景及目标:① 深入理解MPC在非线性、强耦合系统中的控制机理与设计精髓;② 掌握从动力学建模到控制器设计、仿真实现的完整研究闭环;③ 为解决实际工程中高精度轨迹跟踪、多约束处理与抗干扰控制等问题提供先进的技术方案与参考。; 阅读建议:此资源以仿真研究为核心,不仅阐述了算法理论,更强调了从理论到仿真实践的转化过程。学习者应结合文中提供的仿真平台与实验设计,动手复现并调试各类MPC算法,通过对比不同参数设置和工况下的控制效果,深化对MPC核心优势与局限性的理解。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧