自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Python的tkinter如何把日志弄进文本框(Text)

总之,用tkinter设计程序界面时,若要让日志显示在文本框中,首先要通过几句代码临时修改系统输出的数据流。然后,要将数据流的内容写进文本框。文本框光标可用于只提取最新的几行日志,这样更新文本框时,只需把新内容附在最后,无需全部删除重新赋值。

2024-11-23 18:13:41 1392

原创 Swift的可选绑定(Optional binding)

本文介绍Swift里的可选绑定(Optional binding)的用法

2024-11-16 23:14:36 1011

原创 Tkinter中光标(cursor)功能的补充介绍

本文介绍tkinter里的cursor功能,当光标不在窗口而在其它部件时的处理方式

2024-11-16 21:29:16 816

原创 用python中的tkinter包实现进度条

python中的tkinter包是一种常见的设计程序的GUI界面用的包。本文主要介绍这里面的进度条(Progressbar)组件的常用用法。

2024-11-16 20:39:13 1673

原创 期望值为无穷大的博彩游戏,真的花多少钱玩都值得吗?

即使是期望奖金为无穷大的游戏,玩家也并不是花多少钱都愿意玩的。原因在于出现很大收益的可能性很小,期望现象是在玩了很多次后总收益才会超过一定的值,而玩家并不会愿意玩很多次。而且即便如此,这个期望的收益仍有很大可能性被“辜负”。

2024-10-13 23:50:11 1132

原创 伯努利分布(Bernoulli distribution)的两次成功之间间隔次数的分布

伯努利分布(Bernoulli distribution)是一种特殊的二项式分布,即0-1分布。百科上已经说明了这种分布,即,其中。其数学期望为,方差为。详细说明见本文进一步说明对于这类分布的事件,两次出现1之间的间隔的分布。对于泊松过程,两次事件之间的概率符合指数分布。但对于符合伯努利分布的事件,例如抛硬币实验,在一次抛出正面后,下一次抛出正面前抛出了反面的次数的分布也符合指数分布,但和泊松过程的指数分布不完全相同。

2024-10-13 21:37:38 640

原创 用Arduino单片机制作一个简单的音乐播放器

Arduino单片机上有多个数字IO针脚,可以输出数字信号,用于驱动发声器件,从而让它发出想要的声音。蜂鸣器是一种常见的发声器件,通电后可以发出声音。因此,单片机可以通过数字输出控制蜂鸣器发出指定的声音。另外,Arduino支持串口的通信方式,可以从电脑上接收数据,根据收到的数据确定所需发的声音。本文说明用上述方式如何通过Arduino单片机实现一个简单的音乐播放器。

2024-10-07 18:15:14 3823

原创 程序传入单片机的过程,以Avrdude为例分析

在市场上有各式各样的单片机,例如Arduino,51单片机,STM等。通常,我们都用其对应的IDE软件进行单片机的编程。这些软件既负责将程序代码转写成二进制代码,即机器语言,也负责将该二进制代码导入单片机。与此同时,有一个开源软件,叫做Avrdude,可以将二进制代码程序写入各个品牌的单片机中。该项目在Github上,支持Windows、MacOS、以及以Linux为内核的系统。

2024-10-06 11:45:32 2097

原创 用Arduino单片机读取PCF8591模数转换器的模拟量并转化为数字输出

I2C是一种串口通信方式,使用SCK和SDA两根线进行通讯。使用该通信方式的两个设备有主站和从站之分。主站启动通讯,发送从站地址,以及一个读/写比特。如果发出的比特是0,即写,那么主站就继续向从站发送数据;如果主站发出的读/写比特是1,即读,那么就是由从站向主站发送数据,主站读取数据。具体的通讯过程,见[4]。在该实验中,Arduino单片机是主站,PCF8591是从站。用Arduino,可以通过I2C串口和PCF8591模数转换器交互,读取模拟量。

2024-10-03 21:45:17 2710

原创 Lua语言中函数的二进制码保存与查看

在Lua编程语言中,函数(function)和表(table)、线程(thread)等一样,都是变量。而函数,本质上就是一个程序,所以是可以以二进制码的形式表达的。本文介绍如何在Lua中把函数以二进制码进行保存,如何查看保存的二进制码,如何将保存的二进制码重新转换成函数,以及该功能的用处。

2024-10-02 18:09:17 1423

原创 PYTHON实现HTTP request的一些有用的函数

我们知道,当需要设计一个程序和服务器进行交互时,往往会用到HTTP的request,即服务器有一个对外接口REST API,因此当向服务器发送符合格式要求的HTTP request时,服务器会给出响应,甚至执行一些任务。如需了解详情,请阅读。PYTHON是一种常见的编程语言,可以发送HTTP request,并接受从服务器中得到的反馈。博客中说明了一种使用PYTHON发送HTTP request并接受反馈数据的方法。当然,也可以使用JAVA,Swift,C#,Javascript等编程语言实现类似功能。

2024-10-02 12:09:46 1454

原创 ModbusTCP通讯错误的排查

对于ModbusTCP通信中出现的错误,建议通过NetAssist等网络调试软件研究具体的报文,发现错误。首先要确保报文是HEX即16进制格式;另外,要注意ModbusTCP的从站除了IP地址和端口号外,还有设备号,不一定为1;对于寄存器,也包括离散输入和线圈,要考虑不同的PLC可能的地址偏移,即设备内存地址和ModbusTCP地址的偏移。

2024-09-22 21:04:57 4580

原创 PLC通信协议的转化

首先,Codesys是一种国际通用的工业自动化领域的编程系统,支持IEC 61131-3标准的PLC编程语言[1]。这里主要使用ST语言进行可编程网关的通信协议转换程序设计。例如,可编程网关可以通过Modbus得到PLC的一些变量的值,然后将这些值嵌套在通过CanOpen发出的PDO报文中的规定位置,使得CanOpen主站的控制器可以得到PLC里的数据信息;当然,可编程网关也可通过CanOpen接收到控制器发出的报文,从收到的PDO中提取出数值,并将数值通过Modbus传递给PLC。

2024-09-20 23:49:03 1465

原创 幂函数的积分型函数

幂函数的积分函数可写为。特别的,当时,。时,无上限值,有下限值;时,无下限值,有上限值;时,无下限值,无上限值。

2024-09-20 00:15:43 1222

原创 用泰勒级数估算平方根需展开的阶数

要估算一个数的平方根,可以用泰勒级数,而需要展开的阶数和所需的精度以及求根的数有关。

2024-09-17 17:44:30 2070

原创 SwiftUI里的ForEach使用的注意事项

在SwiftUI中,输入ForEach的数据集里的元素必须Identifiable,即有独一无二的id属性。如果数据本身没有这样的属性,则需要通过函数的id参数自定义属性。

2024-09-16 21:53:26 1877

原创 Swift里的数值变量的最大值和最小值

对于Swift里的数值类型的变量,可以通过其类的自带静态属性找出最小值和最大值。对于整数型变量,一旦越过最值,就会报错;但对于小数型变量,即使越过最值也不会报错,而是会用特殊的方法计算。另外,常态数和非常态数的区别在于精度。

2024-09-16 17:43:17 1770

原创 微信小程序的多级选择器(multiSelector模式的Picker)如何设计出各列之间的可选项有关联的逻辑?

对于多级选择器,如需实现多级联动,即各列之间的可选项有关联的逻辑,应当使用bindcolumnchange事件,当某列的选择有了变化,无需确认,就对整个多级选择器的可选项进行改变。

2024-09-15 17:41:01 2409

原创 Tkinter界面设计的复选框(Checkbutton)的补充介绍

众所周知,Python提供很多种图形界面(GUI)设计的库,其中最常见的库之一是tkinter模块,它是 Python 的标准 Tk GUI 工具包的接口[1]。Tkinter库给用户提供了各种各样的组件,网站[2]介绍了这些组件的用法。但复选框(Checkbutton)组件[3]介绍的内容较少,所以本文对该组件的介绍做一些补充。网页[3]中使用了以上代码介绍Checkbutton, 即复选框的参数。其中text是复选框的标记文字,command是该复选框被点按后触发的函数,variable。

2024-09-09 22:21:33 1553

原创 用一个python中的numpy函数计算列表中的每个元素的排名

只需对argsort函数进行一次嵌套调用,即可计算列表里每个元素的排名

2024-09-08 00:21:04 675

原创 Swift初步入门

本文介绍苹果Apple公司开发的Swift编程语言,帮助感兴趣但尚未接触Swift编程语言的人初步了解它。主要介绍Swift里的一些基本语句及其功能和规则。

2024-09-07 22:23:29 1940

原创 PLC用SR函数块实现单按钮自锁功能

在PLC梯形图编程中,若要通过SR函数块实现按钮自锁模式逻辑,需要把线圈(Coil)和触点(contact)互用,且触点应使用P触点。另外,可以通过初始函数让输出值默认为1,但除此之外,在SR函数块的S输入中,还应增加一个涉及线圈值以及常闭触点的逻辑。

2024-09-07 12:16:46 2483

原创 样本方差的公式的分母问题

样本方差的分母之所以是,是因为若整体方差为,则样本中的每一项的方差即期望值是。

2024-08-31 21:00:44 1029

原创 直线是穿过顶点,还是切过顶点?

用射线法判断点是否在多边形内,如果出现射线刚好经过多边形的顶点的情况,则应对该顶点和相邻的点构成的折线进行研究,判断射线/直线是否穿过该折线,还是和该折线相切,抑或和该折线共线。若穿过,则计数;若相切,则不计数;若共线,则忽略该边。判断是穿过还是相切或共线,本质上是判断顶点的邻边,邻顶点是否在射线/直线的同侧或异侧。可以用解析几何判断,也可以用向量法判断。

2024-08-31 17:01:28 1332

原创 Swift编程语言中闭包(closure)的使用

这里以一个简单的判断两个数值大小的闭包为例注意:此处的闭包无需声明类型,因为.sorted函数已经可以确保输入的闭包的类型了。闭包(Closure)是一种函数,但它也是一个常量/变量,可以以更简易的方式定义。可以作为参数输入函数,而以尾随(Trailing)方式写出的代码更易读。与此同时,闭包还有捕获(Capture)变量数值的功能。

2024-08-25 00:31:41 1139

原创 电脑的可启动盘的两种不同类型:实时与非实时

本文以一个问题开头:当一台笔记本电脑插入写入从微软官网上下载的Windows 10/11的iso镜像的U盘,并从U盘启动后,笔记本电脑并不是直接在U盘上运行Windows,而是引导用户把Windows安装在电脑的硬盘上。但是,对于树莓派电脑,当插入写入从树莓派官网上下载的Raspberry Pi OS的iso镜像的sd卡后,树莓派电脑会直接启动系统,不经过安装步骤。为什么?

2024-08-24 18:16:19 950 1

空空如也

空空如也

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

TA关注的人

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