自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(223)
  • 资源 (15)
  • 收藏
  • 关注

原创 C语言中的回调函数 和 函数指针

c 语言中,括号除了表示优先级,还可以作位函数调用运算符。所以fp是个指针,指向函数。找到变量名fp 向右看 是个右括号,向左看,是个*号,说明fp是个指针。但冒泡排序只能实现从小到大排序,如果想实现从大到小排序,难道就要重写sort函数了吗。sort2中添加了函数指针 int (*p)(int,int), 且函数比较由。可以用函数指针 作为回调函数传入,避免修改函数的麻烦。fp右侧是个函数,函数的参数只有一个,类型为int。没有修改sort函数 就实现了冒泡排序的逆序。再向左看 函数的返回值是。

2023-01-17 01:14:51 620

原创 SMT32串口使用中断 和使用 RTOS的对比

其主要作用就是判断是哪个串口产生中断,清除中断标识位,然后调用中断回调函数 HAL_UART_RxCpltCallback()。中断服务函数里面就调用了串口中断处理函数 HAL_UART_IRQHandler()USART1 中断的服务函数 USART1_IRQHandler()在rots中如此定义,也可以达到类似的效果。用cubemx配置时钟,串口,中断和RTOS。这就完成了串口中断的程序。STM32的中断在文件。

2023-01-15 21:29:51 1289

原创 用 Optional.ofNullable 避免java出现空指针异常

java屏蔽了指针,但是空指针是个例外。java8 加入了Optional,可以更优雅的避免空指针异常。方式2:虽然也出现了空指针,但是直接跳转到了 new Field[]{} 避免了空指针。

2023-01-05 00:02:04 28

原创 西门子1500/1200 PLC中,使用AT指令交换字节顺序与 SCL中使用 .%X 的不同

众所周知,西门子为大端存储,存储位置先从高字节开始。如16#01 如果存入MW10中,则1 存入MB11中,MB10中是10.本程序的作用是,用两种方法将MB10与MB11中存储数据交换位置。可以看到,西门子确实为大端存储,用序列化指令serialize也可以证明这一点。AT指令用for循环确实可以交换字节顺序。用一个交换大小端的程序说明使用AT指令交换字节顺序与 SCL中使用 .%X 的不同。首先,在博途中是可以继续使用AT指令的。定义一个变量,在保持中设置 “在 IDB 中设置”

2022-12-15 02:19:21 352 1

原创 使用modbusTCP给西门子PLC传输字符串

modbus的报文是16进制数,PLC使用word(16位)或者int(16位)类型能接收到modbus的16进制数报文。在PLC中,可以用以下方法把word/int解析为String类型。代码:先用序列化命令Serialize将 “GunData”.ushorts 解析为"GunData".bytes,即word数组解析为byte字节数组。最后使用命令Chars_TO_Strg 将字节数组解析为字符串。Chars_TO_Strg 参数定义如下:附带上我的C# modbus通信库,基于Nmodbus封

2022-12-06 22:14:33 376

原创 在C# 和Java中,利用反射处理S7协议读取西门子PLC的变量

在C#和java中,有开源通信库NetS7Plus和S7Connector提供后台与PLC的通信。由于这两个库都提供了连续读取的方法。以java为例,按偏移量读取Db块中的数值:读取的变量为类中的字段,但是实际情况中,我们往往需要各个变量的采集时间,报警值,缩放比例,中文名等,例如这样的格式的变量,这时就需要我们把第一个类class MyS7Entity中的字段映射到class ActualData中,这时就可以利用反射特性快速映射:通信帮助类:C#的对应代码:使用springboot当后

2022-12-06 15:11:20 154

原创 proxy动态代理的例子

通过动态代理,不直接调用对象,而是通过代理proxy调用对象的方法。

2022-11-29 00:02:35 55

原创 使用Hal库+CubeMX实现单片机-上位机的串口通信

Hal+CubeMX,STM32F103

2022-11-20 23:28:35 86

原创 Springboot使用s7connector 实现对西门子PLC数据读写

【代码】Springboot使用s7connector 实现对西门子PLC数据读写。

2022-11-17 16:35:47 436 2

原创 STM32的一些位操作技巧

C语言单片机操作技巧

2022-11-06 17:50:16 183

原创 C# 中,利用newtonSoft.Json 读取json文件

C# 中,利用newtonSoft.Json 读取json文件

2022-10-29 14:48:03 462

原创 java中,利用jackson 读取json文件

读取json文件,java

2022-10-29 14:40:49 467

原创 对比Java的Stream流和C# 的Linq

对比Java的Stream流和C# 的Linq

2022-10-27 01:03:27 391

原创 Java中的反射,lambda表达式,stream流。函数指针和函数式接口

反射,lambda表达式,函数指针,函数式接口

2022-10-25 00:28:28 78

原创 Java中反射在项目中的应用

java的反射

2022-10-08 11:40:46 141

原创 WPF上位机中,使用NModbus4 实现断线重连,不刷新控件动态更新实时数据

C#, modbus,断线重连,WPF, IOC

2022-09-24 22:32:29 418

原创 jsp前后端传递数据的几种方法

jsp前后端传递数据的几种方法

2022-09-07 17:19:53 686 1

原创 实现Spring的Modbus通信,webservice通信

java,modbus

2022-09-06 11:23:34 585

原创 spring boot整合mybatis+mvc+jsp

JAVAWEB

2022-08-15 17:41:00 77

原创 Java,Springboot使用Modbus4J进行通信

spring 实现modbus通信

2022-08-15 14:42:59 752

原创 JAVA之springMVC

SpringMVC

2022-08-08 09:54:26 55

原创 网络通信之NIO编程

NIO编程

2022-08-06 17:42:28 50

原创 java之AOP动态代理

AOP

2022-08-03 09:21:37 138

原创 C# 实现PLC的定时器

C# 实现PLC的定时器

2022-07-29 21:07:05 472 1

原创 深层递归的优化

深层递归的优化

2022-07-21 16:37:09 60

原创 .NetCore的依赖注入

C# 依赖注入

2022-07-20 23:37:58 205

原创 C# 联合KepServer对PLC进行数据读写

KepServer可以将任何工业设备的通信协议转换为opc协议,然后用OPCAutomation进行上位机数据读写。

2022-07-17 17:28:53 1262

原创 C# 读写文本,生成二维码

C# 读写文本,生成二维码

2022-07-15 17:24:18 239

原创 OpenCV模板

Opencv 模板匹配

2022-07-14 23:29:08 89

原创 在C# 中实现上升沿,并模仿PLC环境验证 If 语句使用上升沿和不使用上升沿的不同

使用上升沿和不使用的区别

2022-07-03 22:30:42 791

原创 VB的基本语法

VB基本语法

2022-06-29 16:56:24 748

原创 .net中,日志组件 Nlog,SerialLog, Log4Net的用法

.net日志

2022-06-26 03:41:54 530

原创 C#和C 的CAN通信实验

CAN通信

2022-06-23 01:15:52 1023

原创 while双循环指针求两数组的交集

算法

2022-06-19 00:08:14 128

原创 .net6下 OpenCvSharp4的Demon

OpenCV C#版本

2022-06-16 01:03:46 600 1

原创 OnPropertyChanged()实现原理,WebApi+wpf 的配置

WPF+Prism+WebApi

2022-06-14 04:55:57 153

原创 EFCore调优 EFCore原生sql语句

EFCore

2022-06-11 00:54:21 107

原创 Xamarin 移动上位机实现滑动导航

Xamarin 移动端上位机 滑动导航

2022-06-02 22:42:20 87

原创 使用Xamarin进行移动开发

xamarin进行移动开发

2022-06-02 14:40:31 239

原创 MQTT, 使用WPF 的prism 实现

WPF实现MQTT通信

2022-05-31 22:07:25 264

OCR识别图像并提取文字,生成二维码

OCR识别图像并提取文字,生成二维码

2022-07-17

KepServer可以将任何工业设备的通信协议转换为opc协议,然后用OPCAutomation进行上位机数据读写。

KepServer可以将任何工业设备的通信协议转换为opc协议,然后用OPCAutomation进行上位机数据读写。

2022-07-17

Nlog,SerialLog,log4Net

Nlog,SerialLog,log4Net

2022-06-26

OpencvSharp的示例程序

OpencvSharp的示例程序

2022-06-22

C#编程环境的网络调试助手

C#编程环境的网络调试助手

2022-06-18

Prism 上位机框架 webApi

Prism 上位机框架

2022-06-14

EFCore调优 EFCore调优

EFCore调优

2022-06-11

xamarin +Prism 滑动导航

xamarin +Prism 滑动导航

2022-06-02

xamarin +Prism 进行移动端开发

xamarin +Prism 进行移动端开发 安卓 IOS WINDOWS

2022-06-02

wpf prism框架 MQTT客户端和服务器端

wpf prism框架 MQTT客户端和服务器端

2022-05-31

WPF, Prism框架下的串口调试助手

WPF, Prism框架下的串口调试助手

2022-05-30

WPF工业上位机 MVVM 实时趋势 历史趋势 报表

WPF工业上位机 MVVM 实时趋势 历史趋势 报表

2022-05-29

博途辅助,利用OpennessApi自动生成程序

博途辅助,利用OpennessApi自动生成程序

2022-05-29

自制串口调试助手 C#源代码

自制串口调试助手 C#源代码

2022-05-29

NPOI的使用,sqlsugar查询Excel

NPOI的使用,sqlsugar查询Excel

2022-05-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除