自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(834)
  • 资源 (19)
  • 收藏
  • 关注

原创 MCU串口命令解析器的实现

最近更文频率少了,但依然会保持一周一篇原创文章,主要是在做这几个活:1 编写韦东山老师的嵌入式书籍的输入系统章节2 应本公众号粉丝要求,准备造一台智能小车并开源分享3 自己工作上项目的学...

2020-05-07 23:56:05 1435

原创 TKM32F499评估板串口通信实验

之前买了一块评估板,也写了相应的评测文章,链接如下:TKM32F499评估板使用评测之万事开头难先点个灯压压惊我们在上面这篇文章已经领会了TKM32F499的强大了,接下来进入主题,串口通信实验。1、TKM32F499通用异步收发器(UART)数据结构及参数描述在UART库的头文件里,UART由一个结构体进行维护:typedef struct{ //波特率 uint32_t U...

2020-04-30 17:25:42 2296 2

原创 分享一个近期开源火爆全网的额温枪方案(硬件+源码)

新冠肺炎疫情目前在国内已经得到了基本控制,大部分企业,餐饮等也都已经复工复产了,这得益于国家在抗疫这方面投入了大量的人力物力财力,最重要的还是全国人民同心协力才能让疫情快速有效的缓解下来,但目前境外疫情形势严峻,还是提醒大家避免扎堆聚集,没事在家待着学习就是给国家做贡献!在疫情期间,涌现了不少为抗疫做贡献的企业,华大半导体有限公司就是其中一家,在国内额温枪紧缺的情况下,华大半导体就将自研的抗疫...

2020-04-19 00:12:22 4317

原创 OpenCV4.11+QT5.13开发初体验

配置opencv的方法最常规的是用cmake去配置和编译opencv库的源码包,opencv官方网址:opencv官方网站无奈的是,由于各种环境的配置,初学者都不是特别的熟,经常能折腾个老半天,最后还是放弃了。我的电脑基础配置如下:opencv_core:包含库的核心模块opencv_imgproc:包含图像处理函数opencv_highgui:提供了读写图像和视频的函数以及一些用户交...

2020-04-15 17:06:47 1758

原创 TKM32F499评估板使用评测之万事开头难先点个灯压压惊

如下图所示,评估板长这个样子:TKM32F499深圳市好钜润科技有限公司发行的一款高性能单片机,以上图片是基于TKM32F499的一款评估板,可以看到评估板上的资源那是相当的丰富了,而且还是白菜价。1、特点1、IPS全视角液晶屏,阳光下可视度高;2、高分辨率800*480;3、超大存储空间:16MB的FLASH及8MB的RAM,可以运行复杂的界面程序;4、采用高性能TK499芯片,...

2020-04-11 16:25:24 9676 14

原创 RTT UART设备驱动框架初体验(读协议带\r\n的数据)

最近这段时间上手了下RTT,那真叫一个香啊,具体的使用请参考RTT官方文档:UART 设备首先用RT-Thread Studio创建一个RTT项目:选择基于芯片还是基于BSP,这里我选择的是基于芯片,用STM32F103C8T6这个板子来跑:接下来开始配置组件:双击以后会弹出:这里我配置了ulog日志、串口、Pin以及finsh命令,接下来开始熟悉串口设备配置和使用的步骤:1...

2020-04-02 16:02:38 2780

原创 让开源按键组件MultiButton支持菜单操作(事件驱动型)

看到之前一个老友写的MultiButton开源按键组件的剖析讲解,它的设计思想简洁且高效,以下是他的博客介绍的MultiButton这个教程:MultiButton | 一个小巧简单易用的事件驱动型按键驱动模块至于介绍和使用在这里我就不多说了,相信看上面这篇文章你应该就懂了,但我想,能不能跟菜单操作绑定在一块呢?这样我不就可以利用起来,实现一个高效稳定的菜单状态机框架?纵观网上很多写菜单框架...

2020-03-30 22:31:29 1954 2

原创 STC15F104W-35I-SOP8开发板初体验

一、STC15F104W外观硬件及简介精致小巧,只有8个管脚。对应的硬件原理图和PCB图也很简单:看完描述以后,不仅感叹,8个脚的MCU居然可以这么牛逼,厉害了!...

2020-03-29 11:49:35 9678 3

原创 stm32cubeMX学习十九、USB DFU(Download Firmware Update)固件更新

本程序编写基于秉火霸道STM32F103ZET6运行环境。1、产生问题公司的产品,每次生产烧写程序都得把机器拆开,然后插上串行线或者ST-Link进行烧写,产品量产的情况下数量很多,所以生产每次都需要花费很长去时间去给机器烧程序(这里我们用野火的开发板来模拟)。2、现有的硬件接口现在的产品(野火的STM32F103ZET6开发板)有一个USB接口,硬件连接图如下:如图所示,当PD3为...

2020-02-20 01:42:07 6631 19

原创 stm32cubeMX学习十八、SD卡虚拟U盘实验

本程序编写基于秉火霸道STM32F103ZET6运行环境。跑这个实验之前吃了一些亏,让我一一道来!1、软件写好了,却发现插入USB线连接到电脑后USB居然没有枚举解决方法:野火的这款开发板上做了一个USB上电使能IO,也就是说,当PD3为低电平时,USB才能正常工作,如果不去使能这个管脚的话,USB自然就不工作了。2、HAL库读写SD卡API版本问题解决方法:我用的是1.8.0的...

2020-02-18 19:29:24 4716 5

原创 QT QHttpMultiPart上传总结

最近在搞QT网络通讯这块,涉及到HTTP协议,我们需要上传检测数据到政府单位的后台系统,他们使用的是HTTP的表单格式上传,为了保证我的数据一定能上传到后台,我先用POSTMAN去模拟这个过程,确保我通过POSTMAN是可以上传的,接下来再开始编写QT程序。写这个程序可谓是遇到不少麻烦,首先我参考官网的demo:QHttpMultiPart *multiPart = new QHttpMul...

2020-01-04 23:18:56 3280

原创 C语言解析INI文件(利用开源的iniparse库)

一、了解什么是INI文件?ini 文件是Initialization File的缩写,即初始化文件,这是用来配置应用软件以实现不同用户的要求。二、INI文件的格式INI文件由节、键、值组成。一个简单的的INI文件例子如下:[Setting]INIT_FLAG=0;VOLUME=1;LANGUAGE=1;如上例子,[Setting]就是节,=号左边的值是键,=号右边的是值。三、...

2020-01-01 22:48:28 3314 1

原创 imx6ul查看系统资源IO电平(基于周立功A6G2C)

周立功FAE给出了两个指令:按照他提供的方法,在我的项目上验证,我要查询的是编号gpio-131的电平。

2019-12-19 14:31:15 807

原创 STM32 HAL串口接收常用的几种方式

通常我们在设计串口协议的时候会有几种规格:一、包头+长度+数据+校验位+包尾二、数据+\r\n三、数据对于第一、第二种处理起来非常容易,直接采用串口接收中断即可,如果觉得效率不够高,那么就让串口接收中断+DMA的方式来处理,给CPU减负。之前也写过类似的文章:stm32f429 HAL库处理串口接收–如何接收带\r\n的串口数据对于第三种,也就是不带包头、包尾的,只有数据,这种我们之...

2019-12-10 14:23:30 6421

原创 使用Postman获取天气接口API(Json格式)

一、接口URLhttp://wthrcdn.etouch.cn/weather_mini二、请求参数参数名称类型是否必须说明provincestring1对应哪个省citystring1对应哪个城市三、使用Postman发起Get请求以下为请求得到的数据:{“data”:{“yesterday”:{“date”:“28日星期一”,“hi...

2019-10-29 17:30:06 5321 3

原创 使用Postman获取北京时间校准接口API(Json格式)

一、请求方式Get/Post二、请求参数说明参数名称类型是否必须说明appkeystring1使用API的唯一凭证signstring1md5后的32位密文,登陆用format{json xml}0返回类型.jsoncallbackstring0js跨域使用jsonp时可使用此参数三、返回参数说明参数名称类...

2019-10-29 16:50:15 3489

原创 Linux QT 4G发送HTTP POST请求发送JSON格式的数据

接上一篇文章:Linux下4G模块高新兴物联中兴ME3630拨号上网4G网络打通以后,接下来就可以上传和接收数据啦!有点小兴奋!我们来看看QT上如何来发送一个HTTP的POST请求。HTTP协议在这里就不多说了,百度自己看。一、在PC Window(QT5版本)1.1、构建URL1.2、构建HTTP请求头1.3、连接信号与操作,接收服务器回复的消息槽函数这里我们要在头文件定义...

2019-10-09 11:29:29 2405 3

原创 Linux下4G模块高新兴物联中兴ME3630拨号上网

以下是我用的开发板方案,来自周立功的A6G2C平台。

2019-10-08 11:07:23 3409

原创 AliOS Things IOT(STM32L496VGTx)开发板上按键控制

我用的是下面这个板子:如图所示,该板子提供了3个可以供用户自由配置和使用的按键,开源资料上提供不是基于Keil的例程,因此为了更快掌握这个开发板的使用,需要重新编写基于Keil环境的代码,这一节,我们来实现3个按键分别控制三个LED灯,当按下任意一个按键时候,LED灯点亮,再按一下,LED灯熄灭。一、关于按键和LED灯的电路原理图如上图所示,三个按键分别为KEY1(PE11),KEY2(PE...

2019-10-07 20:41:48 1747

原创 点亮AliOS Things IOT(STM32L496VGTx)开发板上的的ST7789 OLED全彩屏

我用的是下面这个板子:如图所示,这个板子的OLED驱动在开源例程里给出,但是不是基于Keil MDK来开发的,只是用CubeMX生成了对应的驱动源码,现在我将它的驱动移植到Keil MDK上来。屏的代码可以参考:https://github.com/alibaba/AliOS-Things/tree/rel_3.0.0/app/example/dk/dk_gui以下是我参考这个源代码移植出...

2019-10-03 13:36:01 2631

原创 解决AliOS Things IOT(STM32L496VGTx)开发板无法通过USB-STLink下载程序的问题

我用的是阿里的这款开发板,不得不说阿里真的良心啊,一个小板子带那么多模块,还卖那么便宜的价钱,真的爽!在我手上的板子是这个样子:阿里的官方开源是建议用它的vs IED来开发,但我用不习惯,还是希望Keil MDK的方式来开发。接下来写一个点灯的程序,一样还是用STM32CubeMx创建,先来看看板子上的第一个LED的硬件连接图。一、新建一个STM32L496VGTx的工程1.1 配...

2019-10-02 23:10:35 1804 3

原创 ESP8266固件SDK开发之点亮开发板上的LED灯(基于ESP-12F)

一、硬件部分如下图,这是我ESP-12F的电路原理图关于LED灯的部分:对应ESP-12F的管脚:二、SDK版本SDK版本(之前移植的NONOS_SDK-2.2.0版本)https://blog.csdn.net/morixinguan/article/details/101000989三、软件编程一上来就要操作,不会怎么办,安信可官方已经提供了完善的文档,写得非常详细,这点完全...

2019-09-26 22:51:58 6048

原创 stm32cubeMX学习十六、如何让代码生成看起来不会那么乱(规范文件定义)

STM32CubeMX生成代码规则如果不做设置的话,main.c文件里就会堆满各种各样的初始化函数等等。。。随着配置,整个项目可能越来越多,代码凌乱不堪,简直是太恶心了。。。如下图所示:我有点强迫症,看到这样的main.c,我会毫不犹豫的思考如何来改善它,幸亏CubeMX有这样的用户需求。如何解决这个问题呢?只需在这里把这个勾打上,风格就不一样了,这样看起来就舒服多了嘛。让我们来欣赏下。...

2019-09-24 14:24:38 3836

原创 ESP8266固件SDK开发之微信配网(AIRKISS)原理(一)

一、ESP8266开发可以有两种方式:1、AT指令编程开发2、基于SDK编程开发二、ESP8266配网方式有三种:1、网页配网2、APP配网3、微信配网 AIRKISS这里,微信配网是最简单的,无需开发APP,安信可科技的公众号就已经实现了配网的方法,我们只需要在SDK上实现smartconfig相关的程序即可。如果需要用微信配网,需要包含下面这个头文件。#include “sm...

2019-09-21 00:35:25 2693

原创 关于STM32 IAP升级之为什么APP执行要&0x2FFE0000这个数值的原因(基于STM32F446RET6)

如下图所示,这是我目前用的一款CPU:STM32F446RET6,大小是512KB我的bootloader编译完以后占用了26KB的FLASH内存。我的APP占用了363K的FLASH内存,主要是因为LCD显示,刷的图片很多,很占内存。为了给以后的Bootloader扩展更多的功能需求,我给我的Bootloader栈顶占用FLASH 0x10000的大小,也就是64k。所以,目前Boo...

2019-09-20 10:44:52 4543 3

原创 ESP8266固件SDK开发之配置一个工程开发模板以及烧写固件(基于安信可ESP-12F)

这里我用的是最近买的一款叫技小新的开发板:ESP8266对应下面这个型号:参考安信可官网的配置文档:https://wiki.ai-thinker.com/ai_ide_use1、解压从官网下载的SDK开发包1.1、将 sdk 目录下的 driver_lib 重命名为 app1.2、拷贝 \examples\IoT_Demo 下的所有文件到刚才的 app 目录(提示覆盖则确认...

2019-09-18 23:28:34 1304

原创 ESP8266固件SDK开发编译器显示设置

从安信可官网下载的SDK集成开发工具,打开之后,界面显示是这样的:看着真的非常难受,我都没有耐心继续在这上面写代码了。。。。那就换个风格,把它们去掉吧。。。操作步骤:1、点击Window,然后点击Perference2、将Text Editors下的这两个选项的勾去掉3、去掉后的结果看起来输舒服多了。。...

2019-09-18 22:25:28 434

原创 解决SPI OLED屏驱动(SEPS525)开发过程中全屏刷新慢的问题

我在开发中使用的是这一款OLED驱动:根据厂家提供的开机例程。//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=// Initialization//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=...

2019-09-17 11:46:06 6768 4

原创 stm32cubeMX学习十五、步进电机基本功能的使用(基于野火STM32F103ZET6开发板)

本程序编写基于秉火霸道STM32F103ZET6运行环境。今天来玩一下步进电机模块,电机控制,是一门非常高深的学位,如果想去走工控行业需要玩到电机方面的,那么步进电机一定少不了,不管怎么说,我们还是可以把它驱动起来的,以下是我买的一个步进电机驱动模块。步进电机选用的是:28BYJ48-H12这里在软件编程上有一个比较重要参数需要了解一下,就是步距角。那么什么是步距角呢?度娘给你答案,可...

2019-09-16 22:09:39 7165 4

原创 ESP8266固件SDK开发初体验-让ESP8266打印helloworld(基于安信可ESP-07)

我的硬件实验环境:一、开发环境搭建https://wiki.ai-thinker.com/ai_ide_install到安信可的官网上浏览,文档描述得很详细,这里就不在多说。二、打开AiThinker_IDE到这里我们看到,AiThinker_IDE一打开就有N多个工程了,安信可已经自动配好了,不需要我们开发者去导入任何源码,真是非常方便,良心啊!在这里我们只看esp8266_hel...

2019-09-14 01:07:54 2622

原创 stm32cubeMX学习十四、游戏摇杆模块的使用(基于野火STM32F103ZET6开发板)

本程序编写基于秉火霸道STM32F103ZET6运行环境。今天来玩一个PS2游戏摇杆模块,也被称为Joystick,下面来了解下工作原理以及如何来应用。

2019-09-09 23:18:57 5363 5

原创 stm32cubeMX学习十三、光遮断器的使用(基于野火STM32F103ZET6开发板)

什么是光遮断器?是怎么来用的?我们打开百度来搜索一下,发现百度百科有详细的介绍。光断续器又称为穿透型光电感应器,光遮断器,光电断续器,光电遮断器,也就是将发光组件与受光组件面对面排列并设置于同一封装内,·利用检测物体通过时会遮光的原理便得以实现检测功能。ROHM将此种穿透型光电感应器称为断续器。光断续器是什么?光断续器又称为穿透型光电感应器,光遮断器,光电断续器,光电遮断器,也就是将发光组件...

2019-09-06 13:21:30 1044

原创 stm32cubeMX学习十二、为什么配置时钟72MHz却变成了64MHz?(基于野火STM32F103ZET6开发板)

本程序编写基于秉火霸道STM32F103ZET6运行环境。这是还没有配置之前的系统时钟默认值这里默认选择的是HSI(内部时钟源),将时钟频率配置为8MHz。接下来我们根据提示将时钟源调到72MHz(最大)。我们输入72点击OK于是莫名其妙的就变成了64。这是为啥呢?原因:(参考野火提供的HAL库教程)那么我们如何才能配置为72MHz呢?这里我们要配置为外部时钟源...

2019-09-02 23:20:00 3077 2

原创 C语言#和##连接符在项目中的应用(漂亮)

之前看见ST官方一个老外的风格,看完之后大赞。看看他是怎么写的:#ifndef RINGBUFF_HDR_H#define RINGBUFF_HDR_H#ifdef __cplusplusextern "C" {#endif#include <string.h>#include <stdint.h>/** * \defgroup RI...

2019-09-01 22:20:35 1439 1

原创 stm32cubeMX学习十一、配置RT-Thread操作系统组件(基于野火STM32F103ZET6霸道开发板)

本程序编写基于秉火霸道STM32F103ZET6运行环境。先来了解下RT-Thread看来RTT非常强大呀,尤其适合在当今物联网概念那么火的情景下使用,减少了企业的开发成本,那这么丰富,免费吗?连个字===>开源!一、获取NANO软件包要获取 RT-Thread nano 软件包,需要在 CubeMX 中添加 https://www.rt-thread.org/downlo...

2019-08-30 22:52:57 7557 4

原创 stm32cubeMX学习十、扫码模块程序开发(基于正点原子STM32F407开发板)

本程序编写基于正点原子STM32F407开发板。本文使用的扫码模块是下面这个品牌。扫码模块的应用场景非常广泛,我们可以上百度搜索一下:等等。今天就来说说如何在开发板上实现控制它吧,打开数据手册看引脚配置。该模块是基于串口开发,本例程只接了上述的5个引脚,其余的没有接入。按手册提供的说明,只要我们每次扫码之前将nTrig管脚拉低,即可激活扫码模块,我们先接上Uart测试下效果...

2019-08-23 14:24:47 2964 2

原创 stm32cubeMX学习九、带串口屏显示的BootLoader程序开发(基于野火STM32F103ZET6霸道开发板)

本程序编写基于秉火霸道STM32F103ZET6运行环境。关于后面说到的串口屏,可以参考之前的文章:https://blog.csdn.net/morixinguan/article/details/98532571在实际的产品开发中,一般情况下产品需要至少有三个程序。1、BootLoader 引导程序2、APP_BAK 应用程序备份恢复区3、APP 用...

2019-08-17 21:31:25 3841

原创 stm32cubeMX学习八、驱动AT24C02(基于STM32F103ZET6)

本程序编写基于秉火霸道STM32F103ZET6运行环境。1、看硬件原理图关于AT24C02的部分关于I2C协议,在以往的博客中讲得很详细,这里就不在多说。https://blog.csdn.net/morixinguan/article/details/78509764从该原理图,结合AT24C02的数据手册如下图片:很容易得到I2C的7位设备地址为1010 000,A2,A1,...

2019-08-17 00:17:47 1551 3

原创 stm32cubeMX学习七、使用freertos在cubeMX代码生成规则编程中应该注意的事项

我们来看这段程序:上面这段程序,是串口2的中断服务函数,在这里面完成的是接收一帧\r\n的数据。这样看来,这段程序保护得挺好,在串口在执行接收的过程中不会被中断打断。但它存在隐藏的BUG,我们来看下面这种情况。如果是使用stm32cubeMX生成代码,我们会看到在main.c中调用了串口初始化函数。这样看来没毛病,编程思路都是对的,但是灾难就快要发生了,于是我们在msp初始化函数里添加...

2019-08-08 22:37:22 2154

原创 stm32cubeMX学习六、Freertos配置综合实践(移植大彩串口屏程序框架)

一节入门了stm32cubeMX SPI 0.96 OLED的配置,这节我们来学习下如何配置freertos,并驱动大彩串口屏。本程序编写基于秉火霸道STM32F103ZET6运行环境。一、配置时钟这里默认配置成64MHz二、配置Freertos系统和一路调试串口(USART2)接下来配置freertos的参数,基本上不用动,满足我当前使用即可,后续需要用再修改.三、配置串口调...

2019-08-06 23:02:23 5249 9

尚观教育嵌入式4个月培训课堂笔记

主要是当年在尚观学习嵌入式所记的和总结的课堂笔记

2021-03-01

LV3096用户手册(1).pdf

该手册为扫码模块的用户手册,里面有扫码模块的详细说明。

2019-08-23

STM32F103ZET6_AT24C02.rar

提供对AT24C02的一个最基本的测试demo,只涉及读写两个接口。

2019-08-17

freertos_for_Uart_lcd.rar

该例程基于大彩串口屏,用于学习freertos和大彩串口屏。

2019-08-06

7.OLED0.96_SPI.rar

该项目基于stm32cubeMx进行配置,硬件平台使用的是秉火stm32f103zet6平台。

2019-07-13

QT多个按键同时按下的实现方法

多个按键同时按下的实现方法,目前实现了左、右、上、下、Enter按键以及左+上+Enter的实现,读者可以自行拓展该程序。

2018-11-12

Tiny4412应用测试软件源码

该测试软件在Android源码下编译,可以在external下创建一个目录,加入以上代码和Android.mk,然后编译,使用C语言编写,一共有9个测试项目,可以在开机的时候加入init.rc下执行显示,包括RGB测试、按键测试、LED测试、ADC测试、Gsensor测试、编译日期和版本信息、ddr内存测试、SD卡测试、EMMC测试,也可以自己定制。

2018-11-11

敦泰--FT5X06 Android驱动框架分析-杨源鑫.pdf

自己写的关于敦泰电容屏的原理,以及Linux驱动分析的一个文档,分享给学习TP的工程师,如有错误的见解,欢迎各位多多指教。

2018-01-14

嵌入式C开发经验总结

全部整理软件出自于我的CSDN博客: http://blog.csdn.net/morixinguan

2017-02-18

tiny4412按键驱动开发

基于友善之臂的ARM-cotexA9驱动编写,包含按键驱动的驱动代码和测试程序

2016-02-03

tiny4412蜂鸣器驱动源码

基于友善之臂的ARM-cotexA9驱动编写,包含蜂鸣器驱动的驱动代码和测试程序

2016-02-03

tiny4412led驱动编写源码

基于友善之臂的ARM-cotexA9驱动编写,包含led驱动的驱动代码和测试程序

2016-02-03

V4L2最详尽文档

这是V4L2非常好的资料,详尽剖析,深入剖析的文档。

2016-01-31

HI257数据手册

本手册是hi257摄像头的数据手册,网上找不到的,只有我有

2016-01-28

Ov2686摄像头数据手册

该手册为Ov2686的摄像头数据手册,世间少有!!珍品

2016-01-14

安卓编程指南

安卓入门的相关书籍和资料,写得很好很实用

2016-01-09

模拟电子技术基本知识200例

模拟电子技术课程的相关知识点的总结和应用

2016-01-09

空空如也

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

TA关注的人

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