自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fhqlongteng的博客

非著名软件专家

  • 博客(52)
  • 资源 (2)
  • 论坛 (1)
  • 收藏
  • 关注

原创 树莓派上编写串口助手软件

1、 导读 本文介绍了使用python ,PyQt在树莓派的linux系统上编写一个串口软件的助手,重点介绍相关软件包的安装,串口助手软件的如何编译生成可执行文件。2、安装相关软件 读到这里,你应该先有一个树莓派并且安装好树莓派的系统,安装方法可以参考我的这个博文。安装相关软件时,一定要提供修改好软件下载源,请参考上面提到的博文,即使用中国科技大学的镜像软件源。否则...

2020-02-17 10:58:55 410

原创 小内存堆管理算法详细解析

1、小内存堆管理算法介绍 本文所介绍的内存堆管理是RT Thread操作系统中的小内存管理算法,参考mem.c源文件。这个程序适用于小内存的CPU,比如像STM32F这样的只有几十-几百KB内存的处理器。整个内存堆的处理算法简洁,高效,现对其中的原理做详细的介绍。首先先写上整个源代码,如下。内存堆的函数只有主要的4个函数:  rt_system_heap_init   rt_ma...

2020-01-20 23:58:43 511

原创 rtthread编程及软件包使用经验

本篇博文主要用于记录在使用rt thread系统中遇到的一些问题,经验,软件bug及使用技巧,长期更新。 rt thread操作系统版本:3.1.21、2019.11.25 modbus软件包,mbrtu_m.c函数238行中/*RT_ASSERT(( eSndState == STATE_M_TX_IDLE ) || ( eSndState == STATE...

2019-11-25 11:13:39 1977

原创 SFTP比较本地与服务器文件不同,把新增文件上传到服务器

FTP(文件传输协议),广泛用于客户端和服务器之间文件传输,SFTP即是加密了的FTP,即客户端和服务器之间的文件传输采用的是加密数据数据传输,传输的底层数据使用SSL连接进行加密。 今天讲解的这个程序实现的是把本地文件夹内的所有文件上传到服务器,即实现了FTP软件(FileZilla Client)的功能,这个程序会自动对比要上传的本地文件夹和服务器上文件的数量,发现...

2019-10-03 18:00:29 452

原创 阿里云上创建FTP服务器和设置两个不同访问权限的用户

简介FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。互联网上提供文件存储和访问服务的计算机,他们依照的是FTP协议提供服务!支持FTP协议的服务器就...

2018-10-10 17:40:10 1823

原创 分享自己使用python+pyserial+pyQT5写的串口调试助手

1、先介绍一下软件的运行环境,python3.6.1(32位) ,pyinstaller 3.3版本, pyserial 3.4版本, pyqt5 5.8.2版本,这些是主要用到的软件包。 在windosw的 cmd命令行下输入pip list可以查看C:\Users\xxxxn>pip listDEPRECATION: The default format will s...

2017-11-14 21:31:15 23034 30

原创 实战--根据hard fault打印的寄存器信息分析代码异常地址

1、前言 阅读本文请需要先了解一下技术原理,请阅读一下这篇文章:https://blog.csdn.net/fhqlongteng/article/details/112756689。2、故障时的寄存器信息 程序在运行中串口打印出如下信息,程序进入hard fault中断并打印出异常点的寄存器数据。[E/NET_SW] Invalid low power sensor data on the uart2 channelpsr: 0x21000200r00: 0x000...

2021-01-21 15:47:03 18

原创 Cortex-M内核硬件故障问题的分析方法

1、Hard fault中断 Cortex-M内核具有一个不可以关闭的硬件错误中断(Hard fault),这个中断的功能就是当内核运行到了错误的代码会导致产生硬件故障,进而引发中断,用于指示程序出现了重大不可修复的异常,需要程序员去重点关注与处理。本文以结合实际的故障代码来带你分析一下硬件故障产生的种类及如何根据异常的现象寄存器信息来分析找到出现故障问题的代码位置。2、Hard fault的种类 产生硬件故障的原因有,除法的除数为0、总线错误(非法的内存地址访问),非对齐...

2021-01-17 21:22:37 21

原创 rt thread 3.1.3版本操作系统定时器卡死的问题

1、操作系统定时器 操作系统定时器是由rt thread内核提供的一个定时功能,支持硬件定时器或软件定时器。最后在一个产品的使用了多个定时器来实现数据通信指示灯的功能,原理是创建一个周期定时器,创建一个单次定时器,当有数据通信时,启动周期定时器来控制灯闪烁,启动单次定时器来超时关闭灯和周期定时器。当有数据再次到来时重新启动,达到了闪灯的效果。2、定时器卡死的问题 这个定时器由2个不同优先级的线程调用,在程序经过长时间运行后,会出现定时器卡死,即程序一直运行在rt_timer_...

2021-01-14 23:11:52 21

原创 无线智能阀门控制器

1、产品研发的由来 今年做了一个比较满意的产品,这个产品也是总结过去三年的产品经验,融入最新的软件架构,通信技术,按照自己的对产品与技术的理解,自己定义研发这样一款产品,此次产品的功能结构,设计理念,软件架构都有了一个质的变化,特发此文纪念一下。 一个硬件产品要想真正的质量过硬,客户用着皮实耐用,没有个三个年的功夫是做不出来一个好产品的,那些花一年时间做出来的产品顶多是一个功能样机,实现基本功能,远远达不到可靠耐用,市场认可的程度,还是要让产品去市场上接受考验,同时根据客户...

2020-12-29 23:11:52 26

原创 pyInstaller 打包QT程序的环境的建立

1、新电脑安装python + pyQT环境 由于工作需要在公司的电脑上面安装了python(3.6) +pyQT,这里为什么安装python 3.6没有用于最新的3.9呢,因为我自己的电脑安装的就是3.6。pyQT直接使用的pip进行安装,pip会默认安装能用的最新的版本程序,即pyQT安装成了5.14.2版本,同时安装了其他相关的软件包。最后的环境如下:C:\Users\Administrator>pip3 listDEPRECATION: The default for...

2020-12-17 11:08:37 34

原创 音频codec调试心得

本文介绍了一个CODEC芯片TLV320AIC3204音频CODEC的调试经验,记录一下芯片的调试过程中的一些心得。1、硬件电路 一个驱动的调试离不开硬件的电路的结构的与原理,调试驱动前要首先详细的了解驱动电路的原理,原理图如下: codec芯片的型号是TLV320AIC3204,这是TI公司的一款音频处理芯片,可以连接3路模拟mic输出,2路音频输出可以驱动耳机和扬声器。与MCU的数字接口是I2S接口,可以采集语音和播放语音,芯片的配置接口支持I2C和SPI接口,...

2020-09-13 20:13:00 410

原创 MIC29302WU不调压的问题

MIC29302WU的芯片在输出负载很小的情况下(输出电流在10mA以内时),LDO的输出电压比输入电压降低较少,处于未调压的状态,当输出负载电流达到10ma以上时,输出电压降到正常的调整电压。 一般对于这种现象在轻负载时想要正常使用的,需要在输出的端并联一个小电阻,达到10ma的输出电流,对于负载电流大于10ma时没有影响,直接使用。...

2020-09-07 09:19:14 120

原创 C语言库函数time.h中时间相关函数的功能讲解

1、C语言的标准库函数 C语言标准库函数中包括很多函数,像string.h, stdio.h这些大家使用的最多,比如strcpy, printf, sprintf这些函数都是这些库函数提供的。C语言标准库函数一共包括以下文件。1.1 assert.h 文件 assert.h库函数提供了一个称为assert的宏,该宏可用于验证程序所作的假设并在此假设为假时打印诊断消息。定义的宏断言引用另一个宏NDEBUG,它不是<assert.h>的一部分。如果将NDEBUG...

2020-06-06 22:25:53 386

原创 lwip协议以太网驱动层的软件数据结构详细解析

1、概述 本文详细介绍了LWIP协议在rt-thread操作系统上的驱动层结构,rt thread操作系统的硬件驱动层采用标准的设备驱动结构,网络接口对应的网络设备netdev。网络设备下面对应的是以太网驱动程序,同时网络设备向应用层提供网络的各种功能接口,实现了如linux操作系统的ifconfig, ping命令等功能。整个lwip协议到底层硬件的结构如下,具体的参考代码可以查看rt-thread 3.1.3的正点原子阿波罗bsp工程。lwip协议的软件层次结构2、网络接...

2020-05-31 11:59:41 368

原创 lwip协议的配置与裁剪

1、前言 最近项目的上使用有线以太网功能,软件协议使用LWIP协议,操作系统使用Rt thread 3.1.3版本,硬件使用STM32F429+PHY LAN8720方式。这篇记录总结lwip的详细配置。2、配置文件种类 lwip的配置文件有lwipopts.h和opt.h两个头文件,其他中opt.h文件是lwip的默认配置文件,不需要修改此文件,lwipopts.h是用于配置lwip的文件,用户的对协议的配置请在这个文件中增加与修改,lwipopts.h文件中定义宏会覆...

2020-05-14 18:44:47 787

原创 正点原子阿波罗开发板下载调试的bug

最近购买了正点原子的阿波罗的开发板,评估STM32F429的以太网功能。原子的开发板设计的不真不错,功能强大,外形设计优美。更多的优点我就不夸了。 新板子到手的肯定是首先连接仿真器下载一段代码进去。...

2020-05-07 14:10:44 187

原创 RT-Thread操作系统在cortex-m3内核的移植原理
原力计划

1、简介 本文主要介绍RT Thread操作系统在cortex-m3内核上的移植接口文件,通过本篇博客你将深入了解RTOS操作系统是怎么通过触发软中断实现任务切换的,怎么实现内核异常信息的打印功能。2、移植的接口文件 RT-Thread操作系统的移植接口文件主要用cpuport.c,context_rvds.s,backtrace.c,div0.c,showmem.c。...

2020-02-23 22:30:18 876 3

原创 freeRTOS小内存堆算法深入讲解

1、内存堆算法简介 本文所介绍的内存堆管理是freeRTOS操作系统中的小内存管理算法,参考heap_4.c源文件。这个程序适用于小内存的CPU,比如像STM32F这样的只有几十-几百KB内存的处理器。整个内存堆的处理算法简洁,高效,现对其中的原理做详细的介绍。此算法和RT Thread操作系统的小内存管理算法是一样,可以参考这篇文章,只是代码实现的方式上有一些区别。 ...

2020-01-30 23:49:44 185

原创 NFC标签实现非接触配置产品的解决方案

1、NFC简介NFC是近场通信的简称,这种技术可以实现近距离非接触式的通信。NFC技术可以家庭自动化,消费电子产品提供”即触即用“快捷,方便的低成本连接解决方案2、NFC的应用NFC技术公交、地铁,银行等的交易中使用的非常广泛,现在的公交卡,地铁卡,银行卡,会员卡等全是基于NFC技术。本文介绍的一NFC技术在产品非接触式配置时的一种解决方案。有些电子的产品是安装了高温,高湿的环境中,整个产品...

2020-01-16 17:39:14 720

原创 抽丝剥茧带你一步步解决程序死机崩溃的故障

1、程序死机,崩溃 程序死机,崩溃这个应该是程序员调试代码中经常遇到的问题,同时也是最难调试的一个问题。那么什么样的现象是程序死机与崩溃呢?window系统的蓝屏就是一种,指操作系统运行遇到了致命的错误,无法运行,只能关机重新上电。对于嵌入式软件系统中,程序死机,崩溃也是程序运行遇到致命错误,无法运行。有的shell接口或命令行接口的系统,软件中如果提前编写了故障信息打印代码,在...

2019-12-30 23:51:13 423 1

原创 FTP协议编程看这一篇文章就够了

1、FTP 概述 文件传输协议(FTP)作为网络共享文件的传输协议,在网络设备中具有广泛的应用,FTP协议用于实现网络中不同设备之间的文件传输与共享,这个是一个网络协议与具体的操作系统无关,只要你所使用的操作系统支持此协议就可以进行文件传输。 FTP协议中的设备分为客户端和服务器2种角色,在传输文件时,FTP 客户端程序先与服务器建立连接,然后向服务器发送命令。服务器收到...

2019-12-17 00:10:57 542

原创 python+pyserial+pyqt5串口助手软件详细讲解

阅读本篇文章前请你先阅读https://blog.csdn.net/fhqlongteng/article/details/78535393,了解串口助手软件的功能,界面,并且下载最新版本(V1.1)的软件源代码,本篇博文讲解的代码即是1.1版本的源代码。1、工程目录结构 pycom工程主要由pycom_ui文件夹,com.ico,mainwindow.py,p...

2019-10-11 15:27:49 1843

原创 解决变频器干扰低压电子设备的经验

1、变频器 近年来,随着电力电子技术、计算机技术、自动控制技术的迅速发展,交流传动与控制技术成为目前发展最为迅速的技术之一,电气传动技术面临着一场历史革命,即交流调速取代直流调速和计算机数字控制技术取代模拟控制技术已成为发展趋势。电机交流变频调速技术是当今节电、改善工艺流程以提高产品质量和改善环境、推动技术进步的一种主要手段。变频调速以其优异的调速和起制动性能,高效率、高功率因...

2019-10-10 17:43:10 852

原创 一篇文章讲清楚I2C通信及软件编程--附开源软件I2C驱动程序

1、导读 如果你想深入了解和学习I2C通信,请阅读全篇文章,如果你只是要临时快速的完成I2C通信外设的驱动,可以直接看代码,复制到你的工程中去,编译,调试很快就解决问题。本文重点还是想教你真正的理解了I2C通信的原理与编程,I2C通信一要掌握原理,二要自己真正的去编程实践,如果你看完本篇文章,你能自己编写一个软件模拟I2C驱动程序,你就真正的掌握了I2C通信原理。2、I2C通...

2019-08-06 11:46:36 1051

原创 Rtthread 3.1.2 RTC初始化失败导致的CPU上电无法启动的问题

先交代一下使用的操作系统环境rt thread 3.1.2,MCU STM32M103RC,基于上一次产品的开发已经成功应用到客户,目前运行很稳定,感谢中国自主开源的操作系统,感谢RTT团队开发出这么好的操作系统。现在进行产品功能升级,增加RTC功能,增加NTP时间同步功能。按教程一步一步加到工程,编译通过,由于使用的RTT 3.1.2,直接pkgs 有些软件包加入工程后还是由于版本不匹...

2019-07-21 17:41:57 495

原创 DC-DC电路的环路补偿的调试经验

1、A产品的DC-DC电路受干扰掉电      DC-DC电路设计采用LMR14030芯片实现交流24V转换成直流5V,给GSM模块供电,基中LMR14030芯片的EN脚连接一个开关,用于控制电路开关的功能,在小批量生产测试时发现,电路板未安装外壳的情况下工作正常,安装外壳后,测试时发现电源会在GSM发送数据时发生掉电的情况。    问题的分析解决过程,(1)、不安装外壳时,天线直...

2019-02-09 15:06:31 5799

原创 2018年做过的智能硬件

1、智能浇花2、共享纸巾机3、智能门锁通信模块4、8路智能阀门控制器5、电池版智能控制器

2018-12-31 17:49:21 259 1

原创 回望即将过去的2018年,展望即将到来的2019年

前言             年终岁末,工作十年多,每一年都是过得很快,岁月不经过,人生不我待。今天下半年开始坚持练习写博客,对于自己的这一年也要做过总结,回望过去,展望未来。吾日三省吾身尚且很难实现,每年在博客上一省,以后要坚持下去。十年回望       2007年走出校园,满怀希望的踏上工作的旅程,梦想着将来能有一番大的作为。一毕业去了广州一Z家公司,从事嵌入式方面的产品研发工作。...

2018-12-31 16:56:25 897

原创 程序养生

程序员的职业病      程序员的职业生涯中,健康问题尤为突出。随着时间的流逝,梦想可能渐渐暗淡,激情可能慢慢消退,但是,有一点却很肯定,我们的身体大不如前,视力下降,腰疼,颈椎病,失眠,神经衰弱,此类慢性疾病接踵而来。        身体是自己的,也是一辈子的事情,我向来不建议为了事业,而牺牲身体。身体的还是有很强的自我修复能力,小病不用看,大病看不好这是目前的医疗现状。那年我曾因为工作...

2018-12-31 15:11:11 219

转载 DC-DC电路中的电流流向及接地要点

     本文的理论参考了《模拟对话第41卷第2期》Jeff Barrow的文章减少DC-DC变换器中接地反弹,并且引用了其中文字和插图,对Jeff Barrow表示感谢。      DC-DC电源是电子硬件设计中常用的电源电路,DC-DC电源在实现高输入电压变低输出电压时具有很高的效率,应用十分广泛,从电源适配器,手机充电器,电子设备内部电源变换都离不到DC-DC电路。各个半导体厂家都有自己...

2018-12-26 17:54:41 3047

原创 三相异步水泵和变频器的选型与配套

1、三相电的功率     不论负载是星形连接还是三角形连接,电路总的有功功率必定等于三相有功功率之和。      当负载对称时,各相的有功功率都是相等的,因此三相的总功率为     对于星形对称负载     对于三角形戏称负载   三相对称负载的有功功率      无功功率   视在功率2、三相水泵      根据某项目的需要...

2018-12-24 17:59:53 1046

原创 24V交流转换5V直流开关电源的设计及浪涌电流的防护

1、项目背景     某产品的供电电源是交流24V,产品内部核心的控制电路的为低压供电,有直流5V,3.3V,3.8V等电压,需要设计一个开关电源,实现24V交流转换成直流,再通过开关电源芯片转换成5V。2、开关电源的设计    根据以上需求,开关电源电路由整流电路,滤波电路,DC-DC电路组成。整流电路把24V交流电转换成脉冲的直流电,滤波电路把脉冲的直流电过滤过平滑的直流电,DC-...

2018-11-27 18:04:31 7893 3

原创 太阳能电池系统的选型与设计

1、单晶硅太阳能电池板特性数据以KLY200-72型单晶硅电池组件为例。技术参数■组件由72片125×125的单晶硅太阳电池串联组成。■阳极氧化铝合金边框构成实用的方开结构,允许单个使用或阵列使用■配有标准支架系统,安装孔■保证25年使用寿命■防尘接线盒,保证接线的安全可靠■银白色铝合金边框、高透光率绒面钢化玻璃、白色Tp衬底■典型参数 标准测试条...

2018-11-25 20:08:11 2814

原创 IO扩展芯片TCA9535的驱动程序和中断bug问题的解决

 1、IO扩展的作用    最近一个产品中主控制器MCU的IO接口不够用,需要扩展出来更多的IO接口,那么扩展IO接口的方式有两种,(1)通过74HC595芯片可以扩展输出IO接口,价格较低,需要4个IO来连接74HC595,扩展出来8个IO,扩展出来的IO不多,(2)选择专用的IO扩展芯片,通过IIC接口来扩展成8路IO,16路IO,在一个IIC总线上连接多片IO扩展芯片可以扩展出来32...

2018-10-30 15:47:59 3339 3

原创 单枪匹马你别怕,一腔孤勇又如何

      单枪匹马你别怕,一腔孤勇又如何,这一路你可以哭,但不能怂,总得熬过无人问津的日子,才能迎来掌声和鲜花。仅以此句自勉,记录第一次非凡的项目现场经历。      迎着海滨小城象山秋日冷飕飕的海风,艰难痛苦的泪水成双成对的流过脸颊,消失在这片土地中。心中五味杂陈。畏惧、挣扎、痛苦、成长,痛哭这一心路历程就发生在短短的三天之中。畏惧      看过我博客的小伙伴们都知道我是一个程序...

2018-10-19 16:43:18 10671

原创 开发实战--CRC,校验码计算工具软件的开发过程(开源)

1、项目的需求来源      做为程序员码代码,开发软件,开发通信协议,相信避免不了与各种校验码打交道。校验码是通信协议中数据接收方用来校验数据合法性的一个编码。那么举个栗子,请看今早我和隔壁老王的对话,        隔壁老王:今天你吃了么?“嘎哈”        老赵:我今天吃的是包子。“哇哈”        哎,有人会问了,你和老王说话怎么还带着口头禅,这个就是为了向你说明校...

2018-10-10 11:24:26 1612 1

原创 从0到1 一步一步创建一个pyqt的窗口程序

1、安装相关软件和模块    安装python 3.5, Qtcreat还有如下的模块 2、使用Qtcreat创建一个窗口界面,并且保存,如下图 3、在命令行中进入qt工程所在的目录,输入命令pyuic5 mainwindow.ui -o mainwindow.py   从ui文件生成py文件     对mainwindow.py文件中相关的显示的地方做一些手工的修改...

2018-10-08 10:17:01 625

原创 python使用pyinstaller打包生成EXE可执行文件

     最近在项目开发中的需要编写一个上位机的小的应用软件,本人只对嵌入式编程的C语言很精通,VC++只会简单的编程,经过朋友介绍说是的上位机的用python开发很快,这是一种脚本语言,具体优点,大家可以去百度一下了。只是分享记录一下遇到一个最大的坑,就是开发完成后生成EXE文件在其他无此软件开发环境的电脑上的无法运行的问题。      软件开发环境安装的全是最新版本(如下图)  ...

2018-10-08 10:10:43 2984

原创 百度AI-- 文字识别OCR 识别购物小票中的文字(使用python)

    百度AI 文字识别OCR的使用过程:1、首先创建一个百度开发者帐号,如果你有百度的帐号可以直接用此帐号登陆,没有就需要新创建一个百度帐号,网址https://developer.baidu.com/2、在控制台中创建一个应用,应用的名称为“文字识别”,记录下这个应用的appid, apikey, secretkey这三个数据,后面调用文字的识别应用时要用到。3、进行这一...

2018-07-26 16:32:21 6463

NOR校验码计算工具

这个小工具是运行在win7及以上平台的,不支持在xp系统上运行,可以计算NOR异或和,累加和,MODBUS CRC, ISO14443 CRC 开发过程可参考我的博文https://blog.csdn.net/fhqlongteng/article/details/82992467

2018-10-10

pycom串口调试助手

pycom串口调试助手,用于串口数据发送与接收的查看,用于调试CPU串口设备时从电脑上面向CPU串口发送数据,接收数据时调试使用。此软件采用python3 + pyQT5编写,可以运行在win7,win8,win10系统上面。软件无需安装,双击直接运行。相比目前常用的串口助手,具有usb转串口硬件从电脑断开时,软件不会死机的特性。自己一直在用,很顺手。

2017-11-19

找出2张图片的差异的可行性及算法

发表于 2018-04-11 最后回复 2018-04-12

空空如也

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

TA关注的人 TA的粉丝

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