四开关Buck-Boost FSBB:三模态自动切换与C Block算法闭环控制的电压电流双环控制系统研究,四开关Buck-Boost FSBB:三模态自动切换与C Block数字算法闭环控制的双环控制策略研究,四开关Buck-Boost,FSBB,三模态自动切。 C Block数字算法闭环,平均电流控制,电压外环和电流内环双环。 环路参数是根据建模简单放置零极点补偿得到的pi值。 另有ZVS的FSBB版本。 ,四开关Buck-Boost; FSBB; 三模态自动切换; 平均电流控制; 电压外环; 电流内环双环; 环路参数; ZVS的FSBB版本。,四开关Buck-Boost自动切换FSBB算法及双环控制
2026-04-04 17:22:37 954KB sass
1
DSP28035的CAN通信升级方案:包括源码、测试固件与C#上位机开发,支持周立功USBCAN-II兼容盒及BootLoader闪烁指示,DSP28035的CAN升级方案及详细配置说明:使用新动力开发板与C#上位机软件实现固件升级,涉及用户代码、BootLoader代码及硬件连接细节,DSP28035的can升级方案 提供源代码,测试用固件。 上位机采用c#开发。 说明 一、介绍 1、测试平台介绍:采用M新动力的DSP28035开发板,CAN口使用GPIO30\31。波特率为500K。 2、28035__APP为测试用的用户代码,ccs10.3.1工程,参考其CMD配置。 3、28035_Bootloader_CAN为bootloader源代码,ccs10.3.1工程; 4、SWJ为上位机,采用VS2013开发,C#语言。 5、测试使用的是周立功的USBCAN-II,can盒,如果用一些国产可以兼容周立功的,则更这里面的ControlCAN.dll即可。 6、升级的app工程需要生成hex去升级,具体参考我给的工程的设置。 7、BootLoader代码,只有D400这一个灯1s闪烁一
2026-03-31 09:16:04 2.63MB
1
内容概要:本文详细介绍了自动驾驶中Lattice规划算法的具体实现,涵盖轨迹采样、评估和碰撞检测三个主要环节。在轨迹采样部分,作者分别展示了Matlab和C++环境下横向和纵向轨迹的生成方式,如五次多项式用于横向采样,匀加速模型用于纵向采样。对于轨迹评估,文中提出了基于代价函数的设计思路,考虑了平滑性、障碍物距离和速度保持等因素。碰撞检测则采用了分离轴定理和矩形碰撞检测的方法,确保车辆安全避障。此外,还涉及了场景加载、可视化等功能的实现。 适合人群:对自动驾驶技术感兴趣的开发者,尤其是熟悉Matlab和C++编程语言的研究人员和技术爱好者。 使用场景及目标:适用于希望深入了解并实现自动驾驶规划算法的研究人员和工程师。目标是掌握Lattice规划算法的核心技术和具体实现步骤,能够独立完成相关项目的开发。 其他说明:文章提供了丰富的代码片段和实践经验分享,帮助读者更好地理解和应用所学知识。同时强调了不同编程环境下的优缺点对比,便于读者根据实际情况选择合适的工具进行开发。
2026-02-27 19:53:35 955KB
1
AES128是一种广受欢迎的对称加密算法,其全称为高级加密标准(Advanced Encryption Standard),其中“128”指的是加密的块大小为128位。在嵌入式系统和单片机应用中,AES128因其高效性和安全性而被广泛应用。ECB(电子密码本)和CBC(密码块链)是AES128的两种主要工作模式,它们各自具有独特的加密特性。 ECB模式是AES128最基础的加密方式。它将明文数据分割成128位的块,并对每个块独立进行加密。每个块的加密结果仅与该块的明文和密钥有关,因此相同的明文块经过加密后会产生相同的密文。这种特性可能导致在处理大量重复数据时出现可预测的模式,从而降低安全性。对于小规模或随机数据,ECB模式可以使用,但对于大块连续数据则不太适用。 CBC模式相比ECB模式安全性更高。它通过将前一个块的密文与当前块的明文进行异或操作后再进行加密,使得即使两个明文块相同,由于前一个块密文的不同,最终的加密结果也会不同。CBC模式还需要一个初始向量(IV),用于确保相同的明文输入会产生不同的密文输出,从而增强保密性。然而,IV的安全管理和传递也是CBC模式使用时需要重点关注的问题。 在AES128加密中,PKCS7填充算法是一种重要的辅助手段。它用于确保数据长度能够被加密块大小整除。AES128的块大小为128位,即16个字节。如果原始数据长度不是16的倍数,PKCS7会根据需要添加额外的字节,填充字节的值等于需要填充的字节数。例如,若需要填充1个字节,则添加一个值为1的字节;若需要填充5个字节,则添加5个值为5的字节。 在单片机和嵌入式系统中实现AES128加密解密时,需要考虑硬件资源的限制和性能优化。C语言是一种高效且适合这些平台的编程语言。实现AES128加密解密通常包括以下步骤:1. 密钥扩展:AES128使用128位固定长度的密钥,但需要将其扩展为多个轮
2026-02-06 10:47:35 56KB
1
内容概要:本文深入探讨了C++元编程与静态反射技术的发展与实战应用,重点介绍了从传统的模板元编程(TMP)向C++26即将引入的静态反射机制的演进。通过constexpr、if constexpr、std::tuple与apply等现代C++特性,实现了编译期类型操作与代码生成,并结合同花顺量化交易系统的实际案例,展示了一个基于C++20/26的高效二进制序列化框架,显著提升了性能并降低了包体积。文章还对比了不同序列化方案的性能差异,强调了静态反射在跨端RPC、量化交易、游戏引擎等场景中的巨大优势,并展望了C++26反射结合AI代码生成、WASM、静态分析等未来方向。; 适合人群:熟悉C++11/14基础,有C++模板和constexpr使用经验,从事高性能系统开发的中高级工程师,尤其是对编译期优化、序列化、反射技术感兴趣的开发者; 使用场景及目标:①掌握如何利用constexpr和C++26静态反射实现零成本抽象的序列化;②理解编译期代码生成替代运行时反射的设计思想;③在高频交易、跨平台通信、游戏开发中提升性能与开发效率; 阅读建议:建议结合代码实例动手实践,重点关注consteval、meta::info、index_sequence展开等核心技术的应用方式,同时关注编译器对C++26反射的支持进展及fallback兼容方案的设计思路。
2026-02-03 16:17:16 22KB 模板元编程
1
在.NET Framework或.NET Core的Windows Forms(WinForm)应用程序中,常常需要集成Web视图以展示网页内容,并可能需要与网页中的JavaScript代码进行交互。微软提供了WebView2控件,它是Chromium内核的新一代Web视图,使得在WinForm应用中实现与现代Web技术的集成变得更加容易。本示例“WinForm下WebView2实现JS与C#交互Demo”就展示了如何在C#中使用WebView2控件来实现JavaScript与C#之间的双向通信。 确保已安装Microsoft Edge WebView2 SDK。可以通过NuGet包管理器安装`Microsoft.WebView2.WinForms`包。安装完成后,在WinForm项目中引入`Microsoft.WebView2.WinForms`命名空间,这样就可以使用WebView2控件。 接着,在WinForm设计器中添加一个WebView2控件到窗体上,并在代码中初始化它。初始化通常包括设置初始URL、加载完成后的回调以及设置用户数据目录,以便WebView2存储本地缓存和用户数据: ```csharp private Microsoft.WebView2.WinForms.WebView2 webView2; private async void Form1_Load(object sender, EventArgs e) { webView2 = new Microsoft.WebView2.WinForms.WebView2(); webView2.Dock = DockStyle.Fill; Controls.Add(webView2); // 设置初始URL webView2.Source = new Uri("https://example.com"); // 加载完成事件 webView2.CoreWebView2InitializationCompleted += (sender, args) => { // 设置用户数据目录 webView2.CoreWebView2.Environment = await Microsoft.WebView2.Core.CoreWebView2Environment.CreateAsync(null, null); }; } ``` 接下来,实现JS与C#的交互。通过`AddScriptToExecuteOnDocumentCreated`方法,可以在网页加载时执行一段JavaScript代码,这段代码可以注册一个全局函数,用于调用C#方法: ```csharp private void RegisterJsCallCSharp() { webView2.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync( "window.callCSharp = function(param) { window.chrome.webview.postMessage(param); }"); } ``` 这里定义了一个`callCSharp`函数,当JavaScript需要调用C#方法时,可以调用这个函数并传递参数。 为了接收JavaScript的postMessage,我们需要监听`WebMessageReceived`事件,然后在事件处理程序中解析接收到的消息并调用相应的C#方法: ```csharp private async void WebView2_CoreWebView2/WebMessageReceived(object sender, Microsoft.WebView2.Core.CoreWebView2WebMessageReceivedEventArgs e) { string message = e.Message.ToString(); await webView2.CoreWebView2.ExecuteScriptAsync($"console.log('C# received: {message}');"); // 调用C#方法处理接收到的消息 ProcessMessage(message); } ``` 同时,C#也可以调用JavaScript代码。使用`ExecuteScriptAsync`方法可以执行任意JavaScript代码: ```csharp private async void CallJsFunctionFromCSharp(string functionName, params object[] args) { StringBuilder script = new StringBuilder(); script.Append(functionName); script.Append("("); for (int i = 0; i < args.Length; i++) { if (i > 0) script.Append(","); script.Append(JsonConvert.SerializeObject(args[i])); } script.Append(");"); await webView2.CoreWebView2.ExecuteScriptAsync(script.ToString()); } ``` 这个`CallJsFunctionFromCSharp`方法接受一个函数名和任意数量的参数,将其序列化为JSON字符串并拼接成JavaScript调用语句。 通过以上步骤,我们已经在WinForm应用中实现了WebView2控件的集成,让JavaScript可以调用C#方法,同时C#也能调用JavaScript函数。这在开发涉及网页和桌面应用交互的场景中非常有用,例如,你可以从网页触发桌面应用的功能,或者从桌面应用更新网页的内容。这个“WinForm下WebView2实现JS与C#交互Demo”提供了一个基础模板,你可以根据实际需求进行扩展和调整。
2025-12-17 16:34:51 11.47MB javascript
1
成熟项目 内容概要】 本文档系统整理了AGV调度系统的开发流程与实现细节,涵盖系统调研、地图编辑器、接口协议、数据库配置、任务调度、PLC通信等内容,并附带多个C#项目代码示例,包括S7PLCClient、科聪与仙工控制器对接、磁导航协议等。 【适用人群】 AGV系统开发者 自动化与物流系统集成工程师 C# 上位机开发人员 工业自动化项目技术负责人 【使用场景及目标】 可用于搭建AGV调度系统、任务管理系统 实现AGV与PLC、WMS系统的数据对接 开发地图编辑与路径规划功能 学习工业自动化中AGV调度与控制的实际编码实现 【其他说明】 文档中包含多个实际项目代码结构说明,适合作为二次开发或系统集成的参考资料。适用于Visual Studio 2022开发环境,支持SQL Server数据库,涵盖从界面到业务逻辑的全流程实现。
2025-12-16 09:40:17 1.25MB
1
四开关Buck-Boost与FSBB(Forward Standby Buck-Boost)技术及其三模态自动切换机制。四开关Buck-Boost作为一种高效的直流电源,通过四个开关的精确控制实现电压调节。FSBB则在此基础上增加了零电压开关(ZVS)特性,进一步提高效率。文中重点讨论了C Block数字算法在闭环控制中的应用,包括平均电流控制和电压外环、电流内环双环控制策略。此外,文章还探讨了环路参数的设计与优化方法,以及ZVS的FSBB版本带来的性能提升。 适合人群:从事电力电子设计、电源管理及相关领域的工程师和技术人员。 使用场景及目标:适用于需要深入了解高效电源管理技术的研究人员和工程师,旨在帮助他们掌握四开关Buck-Boost与FSBB的工作原理、自动切换机制及C Block数字算法的应用,从而优化电源管理系统的设计。 其他说明:本文不仅涵盖了理论知识,还包括实际应用场景中的优化技巧,有助于读者更好地理解和应用这些先进技术。
2025-12-07 21:39:47 589KB
1
龙旗LED显示屏控制方法与C#实现完整指南源码
2025-11-24 09:44:45 9KB 源码
1
C8051F 系列单片机开发与C语言编程是, C8051F的C语言示例,掌握C8051F的基本用法
2025-11-18 21:44:40 19.43MB C8051F
1