- 博客(24)
- 资源 (10)
- 收藏
- 关注
原创 监视一个进程,当它停止响应时结束任务然后重启
最近写了个服务器端的socket程序,有时会锁死,由于有些引用的组件看不到源码,不知道哪里出了问题,杀掉进程重启就可以用了。而且不影响客户端的重连。网上找了一些资料,有些事linux下的用pyhson写的脚本。没有找到合适我用的,最后打算自己写。获得该进程的启动路径,因为可能同一个进程的名字是不同路径下的。再做个timer上去,定时执行上面的过程,大功告成。返回的结果核实有没有感兴趣的进程,把PID取出来。tasklist :用来找到锁死的进程。wmic:用来获取该进程的路径。获取锁死的进程pid。
2024-06-07 19:45:31
147
原创 了解财富的本质才能知道自己几斤几两
仔细看看,自动化设备取代了人力的操作,那些倒闭的大厂大都是没有竞争力借不到大单而倒闭的,现在的国际形式如此,大单本来就很稀缺,价格依然是根本竞争力,有的大企业对产业升级的重视程度不够,自身竞争力下降,不得不关张。对于平台型企业而言,一旦平台开发完成,只留下几个程序员就可以把剩下的事情干好了,即使代码已经堆成了”屎山“,那又能怎样呢,核心设计的好,再多的冗余也无所谓,至于效率,那只是用来彰显自己技术水平的辞藻。我想大部分都是不能的。这所有的事业都是有周期的,政策上的,政治上的,产业上的,甚至季节上的。
2024-03-13 16:55:54
407
原创 遇到Access violation at address xxx in module ‘LoadDXF.dll‘.的解决方法
对于我们既搞编程又设计电路的人来说,这是一个常见的错误,总体来说是内存读写的错误,是由于某个内存没有要读的内容,或者不允许操作这个区域,或者读的内容和变量的大小不一致,总之有很多种可能。很有可能是附加的其他文件不存在了或者某个com是未注册状态,可能由于删除某个软件造成的,不可查。4.在windows的设置——程序,找到AD,点修改,卸载import包,再重新安装import包。这时新装的ad已经可以正常运行了,因为没有license,可能import选项是灰色的。刚才重命名的文件夹,改回来。
2024-01-21 11:45:35
1589
3
原创 在STM32F4上使用串口DMA接收的配置
由于发——收——发——收的方式一般都是不定长的数据,所以使用DMA的定长接收并不合适。上述方法适用于,接收的字符在发送方能确保不会超时的场合,比如不使用操作系统的单片机等。有个项目使用到了STM32F4的DMA,我从F1的代码移植过来做了一些修改,以适配F4对应函数的一些差异。2.发送使用原库函数,未使用DMA,接收过程为了减少对中断的调用,使用了DMA向缓冲区写数据,并在接收时使用空闲中断来判断接收帧的结束。1.使用F4的串口1 和其他设备进行1发1收的异步通信,即发——收——发——收这种形式的通信。
2023-06-01 12:02:54
1299
原创 Keil+ARM内核下C+汇编混合编程驱动WS2812
使用某些主频比较低的芯片时比如航顺的HK32F030M系列的芯片时,该芯片的主频使用最高32M的内部RC振荡器,没有PLL,没有DMA,对于WS2812这类对时钟频率要求比较高的IC有些困难。虽然使用一些技巧也是可以驱动的,比如直接使用寄存器操作,减少不必要的开销等。为了将驱动负担降低到底,我尝试使用汇编的方式驱动WS2812,并且取得成功,在MCU工作在32M的状况下,成功将刷新时钟上到800k。在正常工程中,添加一个新文件(Add New Item),文件类型选择asm (*.s)
2023-03-14 22:06:53
686
原创 也谈STM32使用DMA+串口获取不定长数据
最近的一个STM单片机开发需要连接一个模块,是串口通信。STM32单片机是典型的F103Cx,在本认为是个简单的操作,没想到搞了2天。网上有很多帖子包括各种已有的例程,使用RXNE中断接收的我就不说了,负荷较大的单片机不建议采用。对于DMA的使用,大部分文章都采用了了DMA+串口空闲IDLE标志,获取不定长数据,通常的做法就是:1.配置DMA,使用单次模式2.配置串口,中断标志IDLE,3在串口中断中收取数据,重置DMA缓冲实际使用时发现:串口数据吐的并不流畅,IDLE中断频繁产生,
2021-10-17 12:39:10
939
原创 AD14 元件引脚名称消失不见了 解决
今天使用AD修改原理图,发现库中所有元件的引脚显示名称全部都不见了。尝试重启,无效。尝试重新打开库,无效。重新编辑名称,保存,关闭,重新打开,能显示。证明不是显示的问题。按照百度搜索的结果,删除所有ad的注册表项。再打开,提示未注册,重新注册好。打开库,依然没有显示。打开protel99的lib库,可以显示。由于文件过旧,重新使用不现实。于是看看有没有自动备份的版本,在工程的目录下输入输入库的名称Schlib1(我的库文件名称:Schlib1.schlib),搜索结果一大堆出来。类似
2021-10-09 13:56:00
5325
原创 STM32在休眠模式(Stop/Standby)模式下的关闭看门狗问题的解决
长期以来一直都认为Stm32启用了IWDG看门狗以后,就不能再使用休眠进入低功耗模式。由于看门狗启动后就不能停止,给很多人带来了困扰。还有很多人放弃了使用看门狗,从而给产品带来一定的不确定性。其实有一个简单的方法可以实现在有看门狗的情况下可靠休眠。我起名字为“两步法”。顾名思义:第一步:在flash或任何可以保存的位置上,写入一个标识,比如1;然后执行单片机重启,比如NVIC_SystemReset()第二步:重启后的main入口中,在启用看门狗之前,先检测上述标识,如果是1,先清掉这个1,改为
2021-07-29 19:57:12
11141
6
原创 在delphi下生成二维码
在delphi下生成二维码,可以使用TDelphiZXingQRCode,该开源代码地址为:https://github.com/foxitsoftware/DelphiZXingQRCode/tree/master/Source如果下载不了可以在https://download.csdn.net/download/csaaa2005/13704055下载使用方法:procedure CreateQrcode(code:string;img:TImage);varQRCode: TDelp
2020-12-16 15:40:03
2852
原创 在STM8(STVP编译环境下)中使用位变量
不多解释了。直接看代码:有时内存不够用,对于只有0/1两种状态的变量,可以使用1个字节的8个位拆分使用。这样1个字节就可以控制8种状态,用&,|也可以比较,但是有更好用的方法。位变量的使用typedef union{unsigned char byte;struct{ unsigned char bit0:1; unsigned char bit1:1; unsigned char bit2:1;
2020-11-21 17:03:52
441
原创 delphiXE下成功安装OpenCV
最近项目需要做个简单的图像识别。看了很多视觉库都是需要收费的,要么就要联网,还限制流量,次数。呵呵,中国人还是穷,口袋穷,脑袋也穷。决定还是使用国外的开源的OpenCV来开发吧。由于习惯了使用Delphi,需要安装OpenCV组件。网上很多下载的都不能正常安装,不是缺这个就是少那个,还需要另外下载一堆的依赖。这次我一次性把他整合好,给有用到的人吧,不用谢。原始的git在这里:https://github.com/Laex/Delphi-OpenCV按照该文章里的方法安装,不成功,编译路径很多都不对。
2020-10-14 19:42:19
2452
8
原创 增值税专用发票抬头开错的处理方法
本人开专票时开错了抬头,导致对方无法认证,需退回重开。今日顺利办理完毕,在此留下文字经验,以备他人不时之需。本方法适用以下情况:1。票已经跨月,且已扣税;2.对方未认证,发票退回在手上;3.发票是增值税专用发票,普票简单,增票比较麻烦。处理方法:1.发票已经退回到手上。在税务网站上申请开具红字发票。填好表格,注意数量要填负数!!!否则过不去。然后审核通过后把申请的的表,截屏,打印出来。 因为此表没有打印连接,且可能是总局才有信息,分局可能查不到,需要去总局认证。2.如果需要重新开
2020-09-15 11:35:46
1971
原创 Delphi2009连接Oracle11g的问题
接手志邦家居的一个自动化连线项目,该项目中要求对板进行扫二维码后分配到不同的加工路径。二维码数据位于志邦的Oracle服务器上,需要将数据同步到本地的sqlserver数据库中。我使用delphi2009的开发环境。在本地安装了oracle11后使用oledb无论如何都连接不上,ODAC也更新到V12,还是不行,但是oracle自己的netmanager是可以的,在桌面上新建一个udl文件,使用oracle ole也可以连接。说明网络,库,连接本身是没问题的。但是在delphi中无法连接。百思不得其解。
2020-07-01 12:21:04
390
原创 使用STM32的DMA驱动4线SPI接口OLED高速显示
解决这个问题源于市面上一种常见的OLED显示屏,使用的是SSD13XX系列的接口,可以通过8080,8086,I2C,3/4 wire SPI进行传输显示。在开发SPI显示的过程中发现,3线的SPI,DC线使用数据帧传输,那么数据传输就变成了9位,如果使用4线的SPI (DC,CS,MOSI,CLK(其中CS可省略))可以使用8位数据,但是需要D/C线的电平来决定传输的命令或是数据。在大多...
2020-02-28 14:28:33
3675
3
原创 STM32F4关于DMA传输向GPIO口的开发
本文章是经历了大量时间,试验,阅读文档,上网搜索无果,再读文档。最后,睡觉时做了一个梦,在梦中,对文档从头到尾再过了一遍,第二天早上醒来,按照梦中的指示,做了些许修改,一次出结果的。希望此文能够帮助到国内还在此问题上困扰的人们。说到STM32的DMA,其实大家都已经很熟悉了。DMA的例子网上也是到处都有。在F1的开发中,DMA需要设置的就是这些内容了,理解上很容易。 主要就是:1.设置...
2019-08-05 11:16:04
4867
9
原创 STM32F401的RCC时钟配置
需要使用STM32F401的大内存特性,买了1批STM32F401CCU6. QFN48封装的。随便翻了一下PDF,第一感觉和F103的48脚封装差不太多,于是将F103的板子改了个QFN48的封装就打样了。。。收到板子后,直接焊上F401,我用的是8M晶振,调试,发现频率上不去。最高能稳定在60M左右,在64M偶尔能工作。在main.c中的RCC配置:(因为SystemInit的配置...
2019-08-03 14:25:38
5412
1
原创 delphi中文数字转阿拉伯数字
项目中使用,网上找不到,自己写了一个type TChnnum=record rate:integer; str:string; end; const chndigit:array[0..9]of Char=('零','一','二','三','四','五','六','七','八','九');function TTabbedwithNa
2016-08-02 17:22:30
801
原创 delphi下将中文数字转换为阿拉伯数字
因为项目中要用到中文转阿拉伯数字,网上找不到别人的,于是自己写了一个。type TChnnum=record rate:integer; str:string; end; const chndigit:array[0..9]of Char=('零','一','二','三','四','五','六','七','八','九');function ChnToNum
2016-08-02 17:17:17
909
监视一个进程,当它停止响应时结束任务然后重启,可以是多个目录下的相同的程序
2024-06-07
DelphiZXingQRCode-master.zip
2020-12-16
Delphi-OpenCV-master delphi2010-XE8可用的OpenCV组件
2020-10-14
STM32F4系列(F1类似),使用DMA驱动硬件8位SPI 高速推动OLED屏
2020-02-28
智慧农业开发工程文件.rar
2020-02-12
剥线机上位机.rar
2020-02-12
使用STM8代替PLC控制传输辊台的代码。光耦隔离,ULN2003输出。采样滤波算法。
2018-06-15
微信小程序获取accesstoken的windows服务delphi2005源码
2018-03-26
GD_2004销售连锁管理系统完整源码delphi
2014-07-27
客服质检系统,含源码。MDI框架编程
2012-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人