【Windows】开始菜单关键错误以及系统应用闪退问题记录 Windows长时间没有重启,重启之后开始菜单点不进去,报错“关键错误”。查询网上有两种解决方案:【1】更新系统版本;【2】通过powershell执行一次性恢复所有应用的指令;我
【嵌入式】STM32&12864点阵屏使用SimpleGUI单色屏接口库——(2)精简字库 精简字库首先要列出整个目标系统中所有可能用到的文字,然后进行去重,提炼出目标系统中用到的所有汉字。然后给这些汉字进行重新编码,简而言之就是进行简单排序,然后重新编号,这个编号就是新规定的字符编码。最后,用这个新的编码重新去对字符串进行编码,这样就完成了字库的精简了。
【嵌入式】STM32&12864点阵屏使用SimpleGUI单色屏接口库——(1)移植 最近一个项目需要用12864屏幕呈现一组较为复杂的菜单界面,本着不重复造轮子的原则找到了SimpleGUI开源库。开源地址SimpleGUI是一款针对单色显示屏设计的接口库。相比于传统的GUI框架,SimpleGUI的出发点,是在一个单色显示器上,以尽可能少的消耗、尽可能多且直观的表达需要的内容,为此,SimpleGUI抛弃了诸如图层、遮罩、阴影、非等宽字体等高级的、复杂的操作,力求以简单快捷、易于操作的方式,使开发者尽快实现自己需要的功能需求。
【嵌入式】Arduino IDE + ESP32开发环境配置 最近想捣鼓一下ESP32的集成芯片,比较了一下,选择Arduino IDE并添加ESP32支持库的方式来开发,下面记录一下安装过程以及安装过程中遇到的坑。
【PLC+Python】snap7/Tkinter实现与西门子PLC通讯/可视化(1)——PLC DB块创建 计划通过西门子 S7-1200(CPU 1212C-DCDCDC),进行PLC与设备间的数据监控。但TIA Portal V15.1 的交互数据非专业人员很难一目了然,又不想专门购买西门子的可编程屏幕,所以拟采用 python-snap7 模块实现上位机与PLC的通信,并将运行监控抽象到 Tkinter 绘制的可视化GUI上,方便测试维护人员操作。
【PLC+Python】snap7/Tkinter实现与西门子PLC通讯/可视化(2)——Python上位机 snap7是一个由国外程序员开发的基于以太网与西门子S7系列PLC的通讯的开源库,类似于C#的S7.Net,但是它不单只支持Python,还支持Java、C/C++、C#等语言。
【Python】实现一个类似于Glass2k的Windows窗口透明化软件 网上看到一款Windows下的窗口透明化工具Glass2k(Glass2k官网),可以简单地通过快捷键实现任意窗口的透明化,还挺方便的,想用Python自己实现一下类似的功能
【嵌入式】STM32芯片使用12864串口屏(驱动为ST7567) 我用的这款LCD屏幕,驱动IC是ST7567。其原理是通过驱动芯片与128×64的液晶模组进行交互,结合背光板,就能指定哪些点阵被点亮,从而得到想要的图形
【嵌入式】GPIO外部中断+定时器 实现红外NEC协议解码 红外(Infrared,IR)遥控是一种无线、非接触控制技术,常用于遥控器、无线键盘、鼠标等设备之间的通信。IR协议的工作原理是,发送方通过红外线发送一个特定的编码,接收方通过识别该编码来执行相应的操作。
【嵌入式】开源shell命令行的移植和使用(2)——letter-shell shell是一个C语言编写的,可以嵌入在程序中的嵌入式shell,主要面向嵌入式设备,以C语言函数为运行单位,可以通过命令行调用,运行程序中的函数。相对2.x版本,letter shell 3.x增加了用户管理,权限管理,以及对文件系统的初步支持。此外3.x版本修改了命令格式和定义,2.x版本的工程需要经过简单的修改才能完成迁移。若只需要使用基础功能,可以使用letter shell 2.x版本。
【嵌入式】开源shell命令行的移植和使用(1)——nr_micro_shell 在进行调试和维护时,常常需要与单片机进行交互,获取、设置某些参数或执行某些操作,nr_micro_shell正是为满足这一需求,针对资源较少的MCU编写的基本命令行工具。虽然RT_Thread组件中已经提供了强大的finsh命令行交互工具,但对于ROM、RAM资源较少的单片机,finsh还是略显的庞大,在这些平台上,若仍想保留基本的命令行交互功能,nr_micro_shell是一个不错的选择。
【嵌入式】HC32F07X CAN通讯配置和使用&配置不同缓冲器以连续发送 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。CAN 使用称为 CANH / CANL 的通信线路执行传输和接收。电位差较小的电信号称为隐性信号,其逻辑值为1。电位差较大的电信号称为显性信号,其逻辑值0。如果通信总线上发生显性和隐性冲突,则显性优先。总线空闲时保持隐性。
【嵌入式】HC32F07X DAC模拟输出 + DMA传输 所谓DAC,就是Digital-Analog-Converter,数字模拟转换器。在模拟电路中,电流电压变化是连续的,而数字电路处理的数据都是离散的数据,输出高电平或者低电平,比如5V单片机,引脚输出的电压要么5V要么0V。DAC做的就是输出一个“任意“的电压,当然这个”任意“是有限制的。
【嵌入式】HC32F07X ADC采样及软件滤波 单片机是数字芯片,只认识由0和1组成的逻辑序列。但实际情况下,生活中还有许多非0和1的模拟物理量存在,例如温度,湿度等。这时候往往需要使用到AD转换,AD转换的英文就是Analog(模拟) to Digital(数字) ,由模拟量转化为数字量;同理DA,则为Digital to Analog,数字量转化为模拟量。
【嵌入式】使用嵌入式芯片唯一ID进行程序加密实现 项目程序需要进行加密处理。考虑利用嵌入式芯片的唯一UID,结合Flash读写来实现。加密后的程序,可以使得从芯片Flash中读取出来的文件(一般为HEX格式)不能用于其他的芯片。
【嵌入式】使用MultiButton开源库驱动按键并控制多级界面切换 开源库 MultiButton 是一个小巧简单易用的事件驱动型按键驱动模块,作者 0x1abin。这个项目非常精简,只有两个文件,可无限量扩展按键,按键事件的回调异步处理方式可以简化程序结构,去除冗余的按键处理硬编码,让你的按键业务逻辑更清晰
【嵌入式】Keil5自带JLink识别不到芯片(unkown to this version of the jlink software)的处理 使用了一款新的嵌入式芯片,灵动微MM32SPIN27PF,安装了官方提供的J-Link Pack支持包。【1】直接使用 JLink_V694a 可以正常烧写程序;【2】使用Keil5烧写失败,显示报错“The selected device 'MM32SPIN27PF' is unkown to this version of the jlink software”,提供的选择也没有对应的芯片型号:
【Windows】关闭Windows Update自动更新 电脑系统盘不够用了,为此准备关闭Windows Update自动更新,以节省空间。为保证关闭之后不死灰复燃,分为以下四个步骤————分别在服务(services.msc)注册表(regedit)组策略(gpedit.msc)任务计划(taskschd.msc)中关闭Win10自动更新。