- 博客(55)
- 收藏
- 关注
原创 微秒延时us
例:如果HCLK=72MHz,则72,000,000/1,000,000 = 72,即每72个时钟周期产生一次中断。使用HAL库的标准毫秒延时函数,但因为SysTick已被重新配置为微秒级别,所以实际上延时的是(us-1)微秒。这个函数提供了一个快速实现微秒延时的方法,但在对时序要求严格的场合可能需要更精确的方案。这是必要的,因为HAL库的其他功能(如超时检测)依赖于1ms的SysTick。除以1,000,000:将SysTick定时器配置为每1微秒中断一次。:在延时期间如果发生中断,可能影响延时精度。
2025-11-03 17:46:26
284
原创 livecharts 装版本8
1 datagridview传datatable livecharts传chartvalues<ObservablePoint>
2025-07-16 19:59:06
206
原创 s7netplus
/ eg: 比如最后一个DBW是16,那么数据类型长度为2,count就需要传18才能获取到。// count : 偏移量(offset),设置多少就获取到具体位置的数据。// DataType: 数据类型,DB或Memory等。region 批量数据项读取 / 读取整个DB。readbytes 最后一个是传终点地址。用linq的 skip和take取数据。read是从首地址开始读 用强转截取。#region 单个数据项读取。
2025-07-13 13:15:45
473
原创 ValueConverter转换器WPF
做不到翻转 做不到flase状态自定义。命名空间只要细到文件夹 不需要到文件、自己写Converter。
2025-07-10 12:07:28
511
原创 工程改Mvvm
属性得自己写 用不了[ObversableProperty] RelayCommand得自己实现。总结 有mainwindow的地方都要改 路径多加一个views。加DataContext。改StartUpUri。
2025-07-09 21:36:19
223
原创 notifypropertychangefor实现convertor
NotifyPropertyChangedFor(nameof(Visibility))] // 修正:添加nameof。// 修正返回值语法。if(_isVisible == true) // 改为使用字段_isVisible。// 修正返回值语法。// 保持您的逻辑结构,仅修正语法。collapsed 不占用。visibility三状态。hidden 占用布局。
2025-07-09 13:34:37
431
原创 uniformgrid实现跨越
特性 | 自定义 `SpanningUniformGrid` | NuGet 包(如 `EnhancedUniformGrid`) |- 保留 `UniformGrid` 的所有原生功能(如 `Rows`/`Columns` 属性)。- **静态布局**:如果子元素位置固定,可在加载后调用 `UpdateLayout()` 冻结布局。- 计算每个单元格的固定大小(`cellWidth`/`cellHeight`)。- **虚拟化**:对大量动态项,建议结合 `VirtualizingPanel`。
2025-07-09 12:12:03
490
原创 socket
同意确认syj ack。FTP http是应用层 只关心把快递交给快递员。udp 只负责发包 不关心数据对方有没有。挥手就是告别所以中间是反过来的。发包 序列号 长度 内容。TCP三次握手 四次挥手。客户端 服务端。就是一个二次确认的过程。而且主要不是连在一起的。tcpudp是传输层。ack 序列号长度。tcp稳 udp 快。
2025-07-07 13:24:37
227
原创 数据的表示
2n-1 比如四位第一位不用 然后7不就是二的三次方减去一码。补码多了一个1开头的刚好有点交接意思 就利用上了 多一个负。0️⃣是正 1是负 你看1想不想负号。十进制转二进制用凑位权法比较好用。移码 就是补码的符号位取反。比如-7 7 0 15个数。而在源码里面是舍弃了多余的重复0。非规格化不一定 阶数默认是2。反码和补码符号位都是不变的。补码多了一个负数表示交接。所以范围是1-2-n-1。先余下的数据是靠近0的。-7 7之间有几个数。你看看刚好又是2n-1。(补码的负数双头1)
2025-07-01 20:20:26
162
原创 swing音频输入
在 Java 中,`AudioSystem.getAudioInputStream()` **不能直接接受文件路径字符串**(如 `"C:/sounds/buzzer.wav"` 或 `"./buzzer.wav"`),因为它没有提供这样的重载方法。- 从 **classpath**(如 `src/main/resources/`)加载文件,**兼容 JAR 包**。- **不能直接传路径字符串**,必须通过 `File`、`URL` 或 `InputStream` 加载。
2025-07-01 17:29:42
1009
原创 StackPanel和Grid
TextBox Grid.Row="0" Text="上面的内容"/><Button Content="按钮1"/><Button Content="按钮2"/><Button Content="按钮3"/><Button Content="按钮1"/><Button Content="按钮2"/>
2025-06-26 17:53:27
394
原创 串口助手实例
我们这边有个index搜索Index就是乱丢text选择-1代表复选框,把它改成数字。从一开始数字复选框,反正一组的都只只能单选。单相框怎么改成圆的?在Properties里面有Check box options是里面又是。所以要配置imagetotextAlignment 图片相对文字的位置改成left。下拉框comboboxedit。有image的location。和text的location。单选框checkedit。
2025-06-24 20:44:37
318
原创 打包winform
在application文件夹底下 添加一个自己的文件夹 就是工程的名称。Dxapplication/bin/debug的文件全部拿过来。下载慢去visual studio extension。再添加一个程序windows system32。右键 在文件资源管理打开文件夹。debug的msi就是安装文件。解决方案右键添加 新建项目。复制productcode。右键msi创建一个快捷方式。卸载程序的argument。右键查看setup的属性。setup1的属性页。
2025-06-23 22:49:27
167
原创 winform mvvm
这段代码的意思是:如果当前应用程序不是处于设计模式(即程序正在运行),就调用。MainViewModel 调用 选择MainViewModel类型。方法来初始化视图与视图模型之间的绑定。
2025-06-22 11:31:52
315
原创 csharp Python
创建名称为pythonclass的numpy环境。anaconda不要自动配环境变量。conda info 检测安装情况。,在load事件正式调用环境。textedit单行。memoedit多行。
2025-06-21 02:04:13
394
原创 GDI绘制
3查看panelcontrol的属性 选择paint事件。在别的Form用private声明即可调用。1拖一个panel查看原码。是在别的panel里面用的。
2025-06-20 23:14:59
315
原创 抽象工厂1
params object[] args即可。相比懒汉式 把实例化的过程全部转移到工厂。想传参 给factory加参数。<T>作用是指定返回值类型。问:为什么用T不用human。更灵活 可以添加别的类型。where限定T的类型。建议就普通工厂就可以。
2025-06-15 14:18:20
185
原创 csharp设计方法
静态内部类 只在类加载的时候创建一次实例。gethashcode发现是同一个对象。null的时候创建 防止多次实例化。如果多个程序同时进入,会实例化多次。在getlazyman里面实例化。花括号的内容只允许一个线程进行。一开始就实例化 浪费性能。多次获取的是同一个实例。公有静态读取同时实例化。
2025-06-14 23:54:22
385
原创 常用库的使用net
/ 输出: {"VisibleProperty":"This will be serialized"}Console.WriteLine("VisibleProperty: " + deserializedObj.VisibleProperty);// 如果需要在反序列化时设置 HiddenProperty 的值,// 这个属性正常序列化。
2025-06-13 14:43:08
348
原创 csharp线程异步
semaphore信号量 count count。asparallel 并行。interrupt 中断。join阻塞 可限制时间。
2025-06-12 10:48:15
108
原创 Linq 解析
any条件判断 all contains 返回bool。func <int,bool>返回booI传Int>.select (c=>$"我{c})"skip skiplast(2)个数。cast 改值类型cast int。还可以return你想返回的部分。selectmany嵌套改值。a.oftype <类型>trunk分组 几几一组。select 相当于。
2025-06-09 02:11:58
196
原创 csharp基础....
/ 输出:1, 2, 3, 4, 5。// 输出:5, 4, 3, 2, 1。xxx字符串.substring(索引,长度)
2025-06-08 23:22:27
445
原创 gitee....
n例如:git commit -a -m \"xxx\"\n第三步:将本地的分支版本上传到远程并合并\n# git push 的命令格式一般是\ngit push \u003C远程主机名> \u003C本地分支名>:\u003C远程分支名>\n例如:git push origin master:master\n\n当然,一般情况下,我们都不用写后面的,\ngit add temp.txt\n1\n2\n3\n4\n5\n灵魂拷问:为什么要暂存代码?答案传送门\n\n如何取消暂存的更改呢?
2025-06-08 22:34:04
327
原创 wpf的converter
/ 将一半的宽度转换回原始宽度。return 0.0;// 如果输入值不是double类型,返回0。return 0.0;// 如果输入值不是double类型,返回0。// 私有构造函数,防止外部直接实例化。是staticresource。
2025-06-07 13:09:57
1219
原创 自定义事件wpf
point pos=mouse.getposition(某个控件)相对某个控件的坐标。mouseenter 或者onmouseleftbuttondown。键盘就是keydown上改e.key==key.enter。// 将鼠标坐标存储在事件参数的附加属性中。// 创建自定义事件参数,包含鼠标坐标。// 获取鼠标相对于当前控件的坐标。(加触发条件) 鼠标类的事件通常在。// 从事件参数中获取鼠标坐标。
2025-06-05 13:37:50
817
原创 Calendar和Datepicker
在 C# 中,`DateTime?date1` 表示 **一个可空的 `DateTime` 类型变量**。selectedDate属性 设定选择的日期。singlerange shift 范围。selectionmode none不让选。.是不为零?multiple ctrl多选。
2025-06-02 00:08:40
229
原创 不使用绑定的方法
/ 监听 B 控件的 SizeChanged 事件。// 初始设置 A 控件的宽度。事件是一种特殊的委托 本身就支持多播。添加了触发方法主动触发invoke。
2025-06-01 22:35:16
243
原创 checkbox radiobutton
e.originalsource判断 判断click 产生者防止button冒泡。listbox用item stackpanel用children。案例 listbox套checkbox多选框。1groupname优先级高于stack分组。案例 stackpanel套radio。radiobitton单选按钮。遍历➕ischecked判断。
2025-06-01 07:46:54
123
原创 label
alt快捷键 _Name Na_me m快捷键。text block有text wrapping。注册框 label➕textbox文本框。e.handled true拦截。焦点跳转:绑定文本框。
2025-06-01 07:29:49
104
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅