![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
文章平均质量分 92
公子无缘
这个作者很懒,什么都没留下…
展开
-
【嵌入式】STM32&12864点阵屏使用SimpleGUI单色屏接口库——(2)精简字库
精简字库首先要列出整个目标系统中所有可能用到的文字,然后进行去重,提炼出目标系统中用到的所有汉字。然后给这些汉字进行重新编码,简而言之就是进行简单排序,然后重新编号,这个编号就是新规定的字符编码。最后,用这个新的编码重新去对字符串进行编码,这样就完成了字库的精简了。原创 2024-08-01 15:05:21 · 1143 阅读 · 0 评论 -
【嵌入式】STM32&12864点阵屏使用SimpleGUI单色屏接口库——(1)移植
最近一个项目需要用12864屏幕呈现一组较为复杂的菜单界面,本着不重复造轮子的原则找到了SimpleGUI开源库。开源地址SimpleGUI是一款针对单色显示屏设计的接口库。相比于传统的GUI框架,SimpleGUI的出发点,是在一个单色显示器上,以尽可能少的消耗、尽可能多且直观的表达需要的内容,为此,SimpleGUI抛弃了诸如图层、遮罩、阴影、非等宽字体等高级的、复杂的操作,力求以简单快捷、易于操作的方式,使开发者尽快实现自己需要的功能需求。原创 2024-07-31 14:10:18 · 875 阅读 · 0 评论 -
【嵌入式】Arduino IDE + ESP32开发环境配置
最近想捣鼓一下ESP32的集成芯片,比较了一下,选择Arduino IDE并添加ESP32支持库的方式来开发,下面记录一下安装过程以及安装过程中遇到的坑。原创 2024-04-23 11:18:16 · 2202 阅读 · 0 评论 -
【嵌入式】STM32芯片使用12864串口屏(驱动为ST7567)
我用的这款LCD屏幕,驱动IC是ST7567。其原理是通过驱动芯片与128×64的液晶模组进行交互,结合背光板,就能指定哪些点阵被点亮,从而得到想要的图形原创 2024-01-25 11:48:59 · 5109 阅读 · 5 评论 -
【嵌入式】GPIO外部中断+定时器 实现红外NEC协议解码
红外(Infrared,IR)遥控是一种无线、非接触控制技术,常用于遥控器、无线键盘、鼠标等设备之间的通信。IR协议的工作原理是,发送方通过红外线发送一个特定的编码,接收方通过识别该编码来执行相应的操作。原创 2023-12-22 15:41:04 · 1798 阅读 · 3 评论 -
【嵌入式】开源shell命令行的移植和使用(1)——nr_micro_shell
在进行调试和维护时,常常需要与单片机进行交互,获取、设置某些参数或执行某些操作,nr_micro_shell正是为满足这一需求,针对资源较少的MCU编写的基本命令行工具。虽然RT_Thread组件中已经提供了强大的finsh命令行交互工具,但对于ROM、RAM资源较少的单片机,finsh还是略显的庞大,在这些平台上,若仍想保留基本的命令行交互功能,nr_micro_shell是一个不错的选择。原创 2023-11-28 16:41:27 · 2055 阅读 · 2 评论 -
【嵌入式】开源shell命令行的移植和使用(2)——letter-shell
shell是一个C语言编写的,可以嵌入在程序中的嵌入式shell,主要面向嵌入式设备,以C语言函数为运行单位,可以通过命令行调用,运行程序中的函数。相对2.x版本,letter shell 3.x增加了用户管理,权限管理,以及对文件系统的初步支持。此外3.x版本修改了命令格式和定义,2.x版本的工程需要经过简单的修改才能完成迁移。若只需要使用基础功能,可以使用letter shell 2.x版本。原创 2023-11-28 18:00:08 · 3133 阅读 · 0 评论 -
【嵌入式】HC32F07X CAN通讯配置和使用&配置不同缓冲器以连续发送
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。CAN 使用称为 CANH / CANL 的通信线路执行传输和接收。电位差较小的电信号称为隐性信号,其逻辑值为1。电位差较大的电信号称为显性信号,其逻辑值0。如果通信总线上发生显性和隐性冲突,则显性优先。总线空闲时保持隐性。原创 2023-10-31 15:10:01 · 1916 阅读 · 0 评论 -
【嵌入式】HC32F07X DAC模拟输出 + DMA传输
所谓DAC,就是Digital-Analog-Converter,数字模拟转换器。在模拟电路中,电流电压变化是连续的,而数字电路处理的数据都是离散的数据,输出高电平或者低电平,比如5V单片机,引脚输出的电压要么5V要么0V。DAC做的就是输出一个“任意“的电压,当然这个”任意“是有限制的。原创 2023-10-27 11:31:52 · 417 阅读 · 0 评论 -
【嵌入式】HC32F07X ADC采样及软件滤波
单片机是数字芯片,只认识由0和1组成的逻辑序列。但实际情况下,生活中还有许多非0和1的模拟物理量存在,例如温度,湿度等。这时候往往需要使用到AD转换,AD转换的英文就是Analog(模拟) to Digital(数字) ,由模拟量转化为数字量;同理DA,则为Digital to Analog,数字量转化为模拟量。原创 2023-10-27 11:02:59 · 743 阅读 · 3 评论 -
【嵌入式】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”,提供的选择也没有对应的芯片型号:原创 2023-08-29 15:50:59 · 8228 阅读 · 0 评论 -
【嵌入式】HC32F定时器PWM捕获+APC芯片实现模拟AD采样
APC=Analog to PWM Convertor 是一种模拟信号转PWM信号的专用芯片,PAC=PWM to Analog Convertor是一种PWM信号转模拟信号的专用芯片。在信号调理领域,经常需要面对模拟量信号的传输、采集、控制等问题,传统的信号链芯片包括模数转换器(ADC)、数模转换器(DAC)、运算放大器(OpAmp)、比较器(Comparator)等等,它们扮演着模数混合信号处理的主要角色。信号链芯片的功能基础而强大,经过精心的设计后能形成多种多样优秀的信号处理电路。原创 2023-04-24 10:41:39 · 1985 阅读 · 0 评论 -
【嵌入式】HC32F定时器PWM输出+PAC芯片实现模拟DA输出
目前使用了TI的DAC芯片DAC7311,将MCU的4-20/0-20数据转化电压信号,经由一系列电路,最终输出4-20/0-20mA电流输出。但是限于成本和货期的问题,考虑将该款DAC换成国产的其他方案。找到一款客益电子(http://www.guestgood.com/)的APC/PAC芯片,可以将输入的PWM信号占空比转化为模拟电流输出,这边选用的PAC芯片为GP8301。原创 2023-04-24 13:48:12 · 1892 阅读 · 4 评论 -
【LVGL】学习笔记--(3)界面切换以及显示优化
界面切换和帧率优化原创 2023-02-27 17:11:43 · 13056 阅读 · 1 评论 -
【LVGL】学习笔记--(2)GUI Guider的使用
GUI Guider是恩智浦提供的用户友好型图形用户界面开发工具,可通过开源LVGL图形库快速开发高品质的显示。GUI Guider的拖放编辑器可以轻松利用LVGL的众多特性,如小部件、动画和样式来创建GUI,而只需少量代码或根本无需任何代码原创 2023-02-27 14:57:05 · 15059 阅读 · 19 评论 -
【LVGL】学习笔记--(1)Keil中嵌入式系统移植LVGL
LVGL(轻量级和通用图形库)是一个免费和开源的图形库,它提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素,美丽的视觉效果和低内存占用。原创 2023-02-24 18:04:00 · 7532 阅读 · 16 评论 -
【CJSON】嵌入式芯片上基于USB HOST的CJSON文件库移植与应用
CJSON是一个使用C语言编写的JSON数据解析器,具有超轻便,可移植,单文件的特点,使用MIT开源协议。优点就是简单轻便,易于移植,该数据格式还可以灵活适用于网络数据的传输。原创 2023-02-24 11:17:05 · 686 阅读 · 0 评论 -
【嵌入式】HC32F460串口接收超时中断+DMA
通过串口接收超时中断或者串口接收超时中断+DMA进行串口接收原创 2023-02-17 11:28:14 · 3690 阅读 · 9 评论 -
【嵌入式】NXP/LPC使用GPIO+定时器模拟UART串口接收
通用异步收发器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种串行、异步、全双工的通信协议,在嵌入式领域应用的非常广泛。原创 2022-12-30 14:06:50 · 2402 阅读 · 0 评论 -
【嵌入式总线】TIA Portal V15软件在Profibus上的操作使用2--收发
一 设备列表主站CPU:西门子CPU 1212C DC/DC/DC 订货号6ES7 212-1AE40-0XB0 Profibus模块:西门子CM 1243-5 订货号6GK7 243-5DX30-0XE0 从站设备:总线板搭载VPC3芯片 设备名EASY4711二 数据接收 根据前一篇文章【嵌入式总线】TIA Portal V15软件在Profibus上的操作使用1--组态,我们已经完成了主站、从站之间的组态,接下来就是控制...原创 2021-12-01 16:29:15 · 1213 阅读 · 0 评论 -
【嵌入式】MCU(HC32F460)+并口LCD液晶屏ILI9341 移植emWin记录
一 并口屏接线 之前整了一块串口屏,实际使用中,感觉整屏(320*240)的刷新速度还是有点偏慢,肉眼能够看到明显的刷屏动作,故而考虑改用并口屏来实现显示功能。首先根据显示屏的接线图进行接线: 其中,真正需要关注的是CS、RS、WR、RD、RESET以及DB0-15数据线。二 并口屏驱动初始化接线完成之后,就需要在程序中对这几个接口进行初始化。 这边区别于SPI的串口屏,只要把所有的引脚作为G...原创 2021-11-08 17:25:28 · 4649 阅读 · 6 评论 -
【嵌入式总线】TIA Portal V15软件在Profibus上的操作使用1--组态
目录一 设备列表二 设备组态三更改从机设备地址一 设备列表 主站CPU:西门子CPU 1212C DC/DC/DC 订货号6ES7 212-1AE40-0XB0 Profibus模块:西门子CM 1243-5 订货号6GK7 243-5DX30-0XE0 从站设备:总线板搭载VPC3芯片 设备名EASY4711二 设备组态 【1】创建新项目:打开西门子博图V15软件,选择创建新项目,输入项目名称并创建:...原创 2021-10-25 10:50:22 · 4406 阅读 · 0 评论 -
【嵌入式】MCU(HC32F460)+SPI接口LCD液晶屏ILI9341 移植emWin记录1----点亮LCD屏
一 SPI屏的接线 SPI屏的特点在于接线简单,只需要四根SPI线以及几个GPIO口即可驱动工作,但是由于非并口的,所以当像素比比较大的时候,刷新速度可能会受到考验。我这边使用的是一块320*240的串口屏,屏幕驱动为ILI9341,控制芯片选用的是华大的HC32F460,主频为168Mhz,因为主频比较高,同时对屏幕刷新显示要求不大,所以考虑基于此进行开发。 首先根据显示屏的接线图进行接线: 其中,真正需要关注的是SPI的四线(SDA即MOSI、S...原创 2021-08-25 17:04:04 · 6862 阅读 · 18 评论 -
【嵌入式】MCU(HC32F460)+SPI接口LCD液晶屏ILI9341 移植emWin记录2----移植emWin
。。。原创 2021-08-25 17:01:52 · 3293 阅读 · 1 评论 -
【嵌入式】NXP/LPC的CRP功能的使用(代码加密/解密)
目录一 J-Flash读取MCU内部程序二 程序加密三 程序解密一 J-Flash读取MCU内部程序 通过J-Flash可以读取到MCU内部的程序,步骤如下:(1)进入J-Flash,选择指定的芯片之后,点击连接Target-Connect;(2)根据需要选择Read back中的选项,分别是回写Project settings中预设的扇区区间(Selected sectors)、回写芯片全部的扇区(Entire chip)、回写指定范围的扇区(Range)。选...原创 2021-07-22 18:42:31 · 2952 阅读 · 0 评论 -
【嵌入式】基于串口的IAP在线升级详解与实战2----移植Ymodem协议
目录一 Ymodem协议简介:二 Ymodem数据格式:三 Ymodem协议移植:一 Ymodem协议简介:YModem协议是XModem的改进协议,它最常用于调制解调器之间的文件传输的协议,具有快速,稳定传输的优点。它的传输速度比XModem快,这是由于它可以一次传输1024字节的信息块,同时它还支持传输多个文件,也就是常说的批文件传输。YModem分成YModem-1K与YModem-g。YModem-1K用1024字节信息块传输取代标准的128字节传输,数据使用CRC校验.原创 2021-04-30 14:48:09 · 1664 阅读 · 0 评论 -
【嵌入式】基于串口的IAP在线升级详解与实战1----IAP功能设计
目录一 IAP功能介绍二IAP远程烧写流程说明三 APP程序设计四 IAP(BootLoader)程序设计五 实际调试与测试一 IAP功能介绍最近有个需求是,使用专用的手机APP,通过蓝牙模块的通信,实现嵌入式芯片上程序的在线升级,流程如下所示:这个需求的核心要点在于MCU的串口IAP在线升级功能。IAP即为In Application Programming,解释为在应用中编程,用户自己的程序在运行过程中对User Flash的部分区域进行烧写。即是一种对..原创 2021-04-29 19:41:06 · 4755 阅读 · 6 评论 -
【文件系统】FatFs文件系统在嵌入式芯片LPC18XX上的移植
目录一 准备工作二 FatFs源码移植三FatFs源码适配四 文件系统测试一 准备工作 (1)FatFs驱动源码(CSDN下载:https://download.csdn.net/download/sinat_33408502/16091729)(官网下载:http://elm-chan.org/fsw/ff/00index_e.html); (2)芯片及其周边最小电路、烧写器等等(我这边用的芯片是LPC1857); (3)SPI FLASH芯片(我这边用...原创 2021-03-25 13:50:05 · 538 阅读 · 0 评论 -
【嵌入式】LPC54XXX(LPC54608)开发板资源整合以及简单试用
一 开发板相关资源汇总:链接:https://download.csdn.net/download/sinat_33408502/14912833其中包含的内容有:(注:开发板使用说明有中文版,只翻译了前三章,不过够用了:https://www.yiboard.com/thread-681-1-1.html)二 开发板简单说明:(1)开发板如下所示:(2)主要特性如下所示:(3)跳线以及LED位置如下所示:(4)到手第一步:开发板拿到手之后直接用USB线.原创 2021-01-21 18:57:02 · 2619 阅读 · 0 评论 -
【嵌入式】MCU外接Flash图片数据存取实例
一 问题背景工程中需要使用大量的图片资源用于GUI显示,但是图片资源比较大,不能直接保存在MCU上,所以考虑外接Flash芯片用于图片数据的存储。实际使用中,将Flash芯片内的地址直接映射到芯片内部,读取映射的地址即可加载图片。二 外部Flash连接我这边选用S25FL256S芯片作为外部Flash,该芯片可以存储256M的数据。将该Flash通过SPI连接到MCU的外部,连接方法如下所示:SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要.原创 2020-11-19 19:01:27 · 7729 阅读 · 13 评论 -
【嵌入式】emwin中GUI Builder结合仿真器使用详解
一 使用前的准备(1)官网emwin模拟器下载:https://www.segger.com/downloads/emwin(2)GUI Builder下载:https://download.csdn.net/download/sinat_33408502/13105021(3)本例程源代码下载:https://download.csdn.net/download/sinat_33408502/13105012二 emwin模拟器使用步骤(1)官网下载emwin模拟器,下载之后,用.原创 2020-11-11 16:32:04 · 2343 阅读 · 10 评论 -
【嵌入式】蓝牙串口通信透传模块(HC-08)的使用
一 使用蓝牙透传模块简介 HC-08 蓝牙串口通信模块是新一代的基于 Bluetooth Specification V4.0 BLE 蓝牙协议的数传模块。无线工作频段为 2.4GHz ISM,调制方式是 GFSK。模块最大发射功率为 4dBm,接收灵敏度-93dBm,空旷环境下和 iphone4s 可以实现 80 米超远距离通信。模块大小 26.9mm×13mm×2.2mm,集成了邮票封装孔和排针焊接孔,既可以贴片封装,也又可以焊接排针,很方便嵌入应用系统之内。自带 LED 状态指示灯,可直观判..原创 2020-10-30 10:34:50 · 13934 阅读 · 8 评论 -
【嵌入式】emwin中插入中文字体——FontCvt的使用
emwin中插入中文字体——FontCvt的使用一 根据需要用到的汉字创建小字库原创 2020-08-31 15:00:16 · 2300 阅读 · 0 评论 -
【嵌入式】KEIL中设置界面各种选项的定义说明
https://blog.csdn.net/jdsnpgxj/article/details/78792989转载 2020-08-12 16:54:10 · 1139 阅读 · 0 评论 -
【嵌入式】在嵌入式工程中搭建Unity单元测试框架
Unity测试框架的使用一 测试框架说明Unity是一个单元测试框架。我们的目标是保持它的规模和功能。核心的Unity测试框架有三个文件:一个C文件和两个头文件。它们共同提供函数和宏,使测试更容易。二 测试框架使用测试文件是C文件。通常情况下,将为要测试的每个C模块创建一个测试文件。测试文件应该包括unity.h和要测试的C模块的头文件。接下来,测试文件将包括setUp()和tearDown()函数。setUp函数可以包含希望在每次测试之前运行的任何内容。tearDown函数可以包含希望在每次测原创 2020-07-14 15:32:05 · 3760 阅读 · 1 评论