自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liming0931的专栏

不积小流,无以成江海

  • 博客(520)
  • 收藏
  • 关注

原创 modbus系列文章—汇总

请移步我博客园的网站基本上是自己的原创,不是网上抄来抄去的,有很多干货,希望一边整理,一边修改~有不对的地方多多指教。https://www.cnblogs.com/CodeWorkerLiMing/p/11831507.html——开发环境https://www.cnblogs.com/CodeWorkerLiMing/p/11831580.html——功能码1https://w...

2019-11-11 09:09:39 252 2

转载 pid 及参数调试方法

所谓PID指的是Proportion-Integral-Differential。翻译成中文是比例-积分-微分。 记住两句话: 1、PID是经典控制(使用年代久远) 2、PID是误差控制() 对直流电机速度进行定速控制: 1、L293作为电机驱动;2、光电传感器-作为输出反馈;3、PWM做为输入控制。 PID怎么对误差控制,听我细细道来: 所谓“误差...

2019-09-14 17:44:17 3206 1

原创 我的博客园主页、公众号

https://www.cnblogs.com/CodeWorkerLiMing/如今我看到csdn的链接和博客园的链接,优先点击博客园的,没办法,csdn的体验广告太多。。

2019-08-12 09:13:30 166

翻译 如何解释复杂的 C/C++ 声明

如何解释复杂的 C/C++ 声明文章目录如何解释复杂的 C/C++ 声明序1. 基础2. const修饰符3. typedef的微妙之处4. 函数指针5 左右法则6. 推荐阅读我想很多人曾经遇到过像 int * (*fp1) (int) [10] 这样的声明;或者你无法理解的类似的东西?本文将教您解释如此复杂的 C/C++声明,包括使用打字、const 和函数指头。序你是否曾经遇到过类似。int * (* (*fp1) (int) ) [10];的语句而无法理解呢?这篇文章将教你解释C/C++宣言,

2021-06-12 22:28:06 27

原创 国内如何快速下载keil的pack文件包(干货)

想要在国内如何快速下载keil的pack文件包,真的是有点麻烦的,不过网上找了一个好方法,可以记录下。在keil的pack官网:MDK5 Software Packs (keil.com)查找自己想要的pack,如下然后添加到http://keilpack.azureedge.net/pack/末尾;如下:http://keilpack.azureedge.net/pack/ARM.V2M_MPS3_SSE_300_BSP.1.1.0.pack再用迅雷或者其他软件就可以快速下载了...

2021-05-29 10:53:20 26

原创 老牌C/C++ IDE——DEV C++有新的大版本了

序:这个软件也是有相当历史了,可以追溯到win98时代,1998年就已经发布第一版本了,其中4.9.9.2版本是最经典的,网上镜像应该是最多的,这个版本才10M大小,后面版本都是他的子子孙孙。sourceforge下面有三个网址,依次更新。其中最新版本有github的仓库。网址:https://sourceforge.net/projects/dev-cpp/,Dev-C++ download | SourceForge.net 这个是最老的,2021年就停了https://sourcefo.

2021-05-19 09:34:07 51

转载 IAR 条件断点

=============小编提示=================网上有很多大佬分享过keil打断点的高级用法,实话说,keil面对新手还是比较友好的,毕竟很多入门都是keil入门的,但是IAR其实也是比较老牌的开发环境,而且编译效果是比较牛逼的,通常被大佬们认为压箱底的开发工具,可见起权威性,下面的文章是偶尔在一个博客中看到的,毕竟iar的教程本身也是比较少见的,而且通常都是很常见的介绍和说明,深入的技能比较少见,因此看了之后觉得不错,转载一下。条件断点是IDE的一个重要功能,在IAR调试.

2021-05-12 21:51:19 41 2

转载 十分钟了解物联网主流通信协议

编者荐语:以下文章来源于华为云IoT ,作者我是卤蛋这个文章来自网络,原文链接:https://www.cnblogs.com/hwiot/p/11944839.html,看了全文,觉得不错,因此特意整理转载下。原文是华为iot小助手分享的,都知道华为在物联网领域是国内老大的地位,分享的文章还是比较有价值的。本文要是能看懂,起码有一点数据通信与计算机网络的基础知识,TCP/IP协议要有一定的概念,否则是看不太懂的,另外,通信协议就是相互之间商量好的“协商+议定”的东西,不要把它认为是很玄的东西,

2021-05-12 18:53:38 56 1

转载 五分钟了解物联网SIM卡——这个文章刷新了我对sim卡的认识

嵌入式软件自留地 今天编者荐语:五分钟了解物联网SIM卡——这个文章刷新了我对sim卡的认识,不熟悉的可以看看~~以下文章来源于华为云IoT ,作者我是卤蛋这个文章来自网络,看了觉得不错,因此特意整理转载下。是华为iot小助手分享的,都知道华为在物联网领域是国内老大的地位,分享的文章还是比较有价值的。【摘要】SIM卡是移动通信中不可或缺的组成部分,在物联网解决方案中,设备移动上网也需要使用SIM卡。那么,SIM卡是什么?SIM卡有几种?各种SIM卡有什么区别?本文将为您答疑..

2021-05-10 13:11:04 4296 20

原创 C语言——if(0)之后的语句真的不会执行吗?

1、序学过c语言的都知道,通常:If(0)之后的代码是不执行的,网上也有详细的说明。1.1、形式:if (表达式) {语句... }1.2、解释:在执行if语句时,首先会计算表达式的值,如果表达式的值为零,语句不会执行,若非零,则执行语句。由此可见if (0)表示不执行,if (1)表示要执行。if (x)根据x的值是否为0来决定是否执行,他等价于if (x != 0)。if语句中的条件无论是什么最终都要转换成一个布尔值,因此,1.3、举个例子if(x)相当于if(x !..

2021-05-03 08:32:50 232 1

原创 emwin模拟器编译环境搭建及helloworld例程

1、序近期在微信群中看到大佬们有过讨论gui的话题,本人曾经也是关注过,但一直未深入,很多次擦肩而过,因此借这个契机,就研究下。2、主要参考资料及论坛1、硬汉嵌入式论坛中的emwin板块,这里的资料相当丰富了,干货很多。2、网上有《emWin 2 天速成实例教程》,可以在其他网站的备份下载,阿莫电子已经落堕了。3、野火有emwin的教程视频,模拟器使用的vs2019的。3、编译工具准备3.1、VC++6.0这个软件虽然很老了,但是emwin模拟器中,依然是比较..

2021-04-25 08:33:19 98 3

转载 Win10重新安装Windows应用商店(Microsoft Store)

打开开始菜单,输入Windows PowerShell,右键管理员身份打开。运行查询命令:Get-AppxPackage -allusers | Select Name,packagefullname |findstr Microsoft.WindowsStore1输出:Microsoft.WindowsStore Microsoft.WindowsStore_12011.1001.1.0_x64__8wekyb3d8bbwe1根据输出修改下面命...

2021-04-17 22:13:31 626

转载 在国内快速下载Visual Studio Code

在国内,想要下载Visual Studio Code,有时真是一件不容易的事。 它本体发布于海外,国内暂无可用镜像,更新频率又高。 在某些网络环境下,下载或更新真是苦不堪言,卡着卡着就断掉了。本文提供一个Python脚本,自动从中国的azure下载。能略快一些。配置软件源¶对Linux的deb系来说,本以为配置好了源/etc/apt/sources.list.d/vscode.list,就可以简单方便。deb [arch=amd64 signed-by=/usr/share/keyrin.

2021-04-08 14:14:45 76

原创 还记得当年的c-free和Borland c++5.5编译器吗?

http://www.mediafire.com/file/1202f6i1hn5vba3/Borland_C%252B%252B.rar/file 这个链接可以下载,压缩包里面包含了两个软件,bcc55不用安装,cfree5安装一下即可,不过不免费,大家都懂得,网上也有。他俩现在已经默默淘汰了,不过win10测试了cfree4和cfree5依然可以使用,但是内置的mingw版本太老了,很多c99的特性都不支持了,因此安装了可以测试下,新的功能还是使用新版本的gcc好了,不过当年这两个软...

2021-04-08 10:30:58 61 2

原创 vscode国内镜像

https://az764295.vo.msecnd.net/stable/c185983a683d14c396952dd432459097bc7f757f/VSCodeSetup-x64-1.55.0.exe替换成https://vscode.cdn.azure.cn/stable/c185983a683d14c396952dd432459097bc7f757f/VSCodeSetup-x64-1.55.0.exe

2021-04-03 12:10:53 829

原创 C#实例——上位机helloworld

c#上位机,今天有又开始整一下。整一个简单的helloworld,参考了https://mculover666.blog.csdn.net/article/details/80650063这个文章,自己在电脑上重新做了一遍。1、新建“Windows窗体应用程序”2、放入两个 按键,一个 textbox,如下图并修改按键名称。另一个按键同理,一个用于发送,一个用于清除3、然后双击send的按键,会自动创建一个方法,这就比较方便了,省去了一些代码,更加快捷(入门可以先这样尝试,后面...

2021-03-27 18:26:27 129

转载 C 语言有没有 REPL?

转载自:https://www.zhihu.com/question/53638858个人推荐chCh standard edition网上还有7.0的免费版本,6.3.0免费的也有~~~A REPL (say it, “REP-UL”) is an interactive way to talk to your computer in Python. To make this work, the computer does four things: Read the user input..

2021-03-23 09:01:40 34

原创 iar快速下载的链接

https://netstorage.iar.com/SuppDB/Protected/PRODUPD/013861/EWARM-CD-8401-21539.exehttps://netstorage.iar.com//FileStore/STANDARD/001/000/377/EWARM-CD-9101-36323.exehttps://netstorage.iar.com//SuppDB/Protected/PRODUPD/014225/EWRL78-4201-Autorun.exe

2021-03-21 21:42:21 36

原创 在Windows下使用linux的命令行工具

http://unxutils.sourceforge.net/UnxUtils.htmlhttp://gnuwin32.sourceforge.net/GnuWin32是为习惯了linux系统的人员提供的命令行工具,这款工具可以让windows系统上的cmd像terminal一样执行各种指令。如果你习惯了linux的命令,可以在windows上安装这款GnuWin32来实现相关的设置。windows环境下配置scons 与 gnuwin32:1.安装python环境2.安装scons

2021-03-20 21:29:44 102

转载 NB-IoT信号参数,到底该如何理解?

原创解运洲5G物联网产业联盟2018-08-21当我们在部署NB-IoT终端的时候,没有人会告诉我们当地基站的信号覆盖质量如何,有些人通过AT命令测试到的数据参数,又无法正确理解各参数的代表含义。对于下面的一些参数理解,供大家参考。CELL ID 基站小区标识CELL ID是网络中小区的编号,与MCC、MNC及LAC号组合成一个小区全球识别码,用来在全球范围内唯一识别某一小区。EARFCN 中心频点若一个区域的基站中心频点都相同,表示是同频部署。若一个区域...

2021-03-18 13:40:17 166 1

原创 【技术干货】GD32VF103C-START 入门

一、序言近期从创易栈中很荣幸获得了一块GD32VF103C-START开发板,是基于RISC-V内核的32位通用微控制器,从这个网站我初步了解了这个芯片的特性,大家可以上网看看,内核是使用芯来科技Bumblebee内核(RV32IMAC),指令集是开源的,不用许可,这个和arm是有区别的,因此,我认为可以降低成本了,毕竟没有了arm的许可费用。https://www.riscv-mcu.com/index.php?na=quickstart&app=quickstart&ac=in.

2021-03-18 08:47:33 261

转载 惊爆内幕:老MDK也可以使用新编译器——arm大佬文章,硬核!

原创GorgonMeducer 傻孩子裸机思维2020-10-15收录于话题#MDK2#单片机3#编译器9【写在前面的话】如果说“喜新厌旧”是人类的天性,那么嵌入式程序员一定是特例——他们尤其不喜欢更换自己用惯了的工具——拿IDE来说吧,相当一部分人仍然抱着老版本的MDK迟迟不愿意更新,这里的原因很多: “忙的要死,哪有时间去尝试新版本” “新版本有啥特别的么?能用树状结构管理工程文件了么?” “新编译器稳定么?” “有破解么?”...

2021-03-18 08:45:10 40

转载 为什么航天器、导弹喜欢用单片机,而不是嵌入式系统?——比较不错的文章

原创道哥IOT物联网小镇前天收录于话题#所有文章37#嵌入式开发21#操作系统1#应用程序开发19道哥的第 029 篇原创 一、前言 二、关于单片机与嵌入式系统之间界定 1. 单片机 2.嵌入式系统 3. 嵌入式 Linux 三、非实时、软实时、硬实时 四、x86 Linux 系统的调度策略 1. 为什么 Linux 系统是软实时? 2. Linux 系统...

2021-03-18 08:42:39 55

原创 驱动库分享整理(二)——bootloader

1、[BOOT/IAP]ST发布的OpenBootloader库,支持FDCAN,I2C,UART等 ,原文:http://www.armbbs.cn/forum.php?mod=viewthread&tid=990302、https://mcuboot.com/3、OpenBLT Bootloader:https://www.feaser.com/en/openblt.php

2021-03-14 21:44:59 33

转载 0805,0603,1206这些封装的名字是什么来的

https://blog.csdn.net/qq_37098914/article/details/80192811封装尺寸是长x宽,0805,0603,1206 这些单位是英制,0805代表0.8英寸x0.5英寸,而1英寸=25.4毫米(注意:封装尺寸是实物封装的尺寸,不是焊盘的或者pcb封装图的尺寸,pcb封装图的尺寸会稍微大些)以下是尺寸列表 :1206L:1.2inch(3.2mm)W:0.6inch(1.6mm)0805L:0.8inch(2.0mm)W:0.5inch(1.

2021-02-27 21:32:51 37

原创 Using Assembly Language in Linux.

http://www.linuxassembly.org/articles/linasm.html这个文章挺好的,还有以下文章http://ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.htmlhttps://0xax.gitbooks.io/linux-insides/content/Theory/linux-theory-3.htmlhttps://wiki.osdev.org/Inline_assemblyhttps://gcc.g

2021-02-25 10:47:23 11

原创 驱动库分享整理(1)——用于单片机中的小巧多功能按键支持库

按键在嵌入式开发中,是比较重要的,也是常见的外设,因此,很有必要学习,同事也要掌握编写基础的按摩驱动,通常情况下,最基本的情况下,都是使用状态机的框架来出来,因为尽管硬件电路上有滤波电路,但还是要软件滤波的。(软件滤波很多采集系统中都是用到的)。在学习过程中,可以自己尝试编写简单的单机,组合按键单机等,锻炼思维。当然网上有很多的按键驱动库,值得收藏,其中思想是比较好的,可以学习其思路,同事也可以在了解功能后,移植到自己的项目中。我这里就自己网上看到的,公众号分享的一些文章,特意整理一下,算是一个收集,

2021-02-13 11:22:58 150 2

原创 mdk平台下,cm3内核单片机使用event recorder,测试函数运行时间及printf打印

1、最好使用比较新的cmsis库,否则添加event recorder将无法编译通过2、rte设置如下:3、sct文件开辟一个NOINIT的sram区域,不开辟好像也可以,官网教程是开辟的。4、初始化,记得添加头文件void event_record_init(void){ EventRecorderInitialize(EventRecordAll, 1U); EventRecorderStart();}5、添加测试时间代码,如下所示实例,2也可以去0-4,

2020-12-23 16:26:55 131

原创 stm32F1 SCB->VTOR开机默认是0,如何理解?

1.使用stm32cubemx生成新的f1工程,SystemInit函数中默认没有设置SCB->VTOR,则SCB->VTOR默认为0,程序正常运行。2.在设计IAP的时候,为社么在app程序中需要设置SCB->VTOR,而bootloader中不需要?3.程序的SCB->VTOR = 0x0800 0000 | offset;4.那么对于bootloader来说,只是offset = 0而已,为什么连0x0800 0000都可以不设了呢?5.想请教各位大佬,这个应该怎么理解

2020-12-22 10:52:50 343

原创 freertos的优先级配置头文件的小结

首先上一段cubemx导出的freertos的配置文件/* FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd. All rights reserved VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. This file is part of the FreeRTOS distribution.

2020-12-21 13:58:12 118

转载 条件编译的推荐写法

// 普遍用法#if MACRO // your code block 1#else // your code block 2#endif// 推荐用法#if !defined(MACRO) #error "No valid MACRO defined!"#elif (MACRO == 1) // your code block 1#else // your code block 2#endif结合上面的条件编译,在iar中可以添加宏如下:.

2020-12-18 13:59:23 43

转载 函数宏的三种封装方式

原文链接如下:https://blog.csdn.net/qq_35692077/article/details/1029949591. 函数宏介绍函数宏,即包含多条语句的宏定义,其通常为某一被频繁调用的功能的语句封装,且不想通过函数方式封装来降低额外的弹栈压栈开销。函数宏本质上为宏,可以直接进行定义,例如:#define INT_SWAP(a,b) \ int tmp = a; \ a = b; \ b = tmp但上述的宏具有一

2020-12-18 13:49:05 187

转载 KEIL MDK环境下uCOS-II在LPC17xx上的移植实例(推荐!!)(工程可下载)

来自论坛,不错的资料,https://www.nxpic.org.cn/module/forum/thread-606286-1-1.html1. 知识准备要想对ucos-ii的移植有较深的理解,需要两方面知识:(1)目标芯片,这里是lpc17xx系列芯片,它们都是基于ARMv7 Cortex-M3内核,所以这一类芯片的ucos-ii移植几乎都是一样的,要想了解Cortex-M3内核,推荐《ARM Cortex-M3权威指南》(宋岩译);(2)ucos-ii内核原理,推荐《嵌入式实时操作系统

2020-12-14 14:55:31 80

原创 嵌入式c编程的一点小记录——宏

近期都在忙着项目开发,因此博客更新就比较佛系了,当然期间也看了不少博主的文章,学到了很多技巧,本文大致罗列下。顺便理一下自己的思路,有输入也要有输出嘛。网上很多文章都说,enum枚举比宏要好,优点的确也是有的,序号自动递增,更加模块化, 更加好管理。其实宏也是有比较好的功能的,只是通常,我们都不会使用高级的用法,反正网络上也是普通的用法,很少有高级用法(有当然有的,需要自己好好耐心找)。1、通常来讲,宏就是在预编译的用于替换的,因此,如果宏里面有enum,那么预编译是不会成功的。gcc,tcc等

2020-12-12 23:20:51 40

原创 关于core_cm3.c和core_cm3.h,Core_cmFunc.h 和 Core_cmInstr.h的理解

以下来自:https://blog.csdn.net/guosir_/article/details/78627980CMSIS是Cortex微控制器软件接口标准(CortexMicroController Software Interface Standard)的缩写,这个是ARM定制的一个用于Cortex-M系列的一个标准,主要是为了提供通用api接口来访问内核和一些片上外设,提高代码的可移植性。CMSIS有三个层:核内外设访问层CorePeripheral Access Layer(CPAL)

2020-12-09 22:07:14 160

原创 如何在vscode使用最新的tcc编译器

tcc编译器也就是TinyCC (aka TCC),是法国工程师开发的,小巧强大,测试c语言的利器,还可以集成到vscode中,安装tcc compiler/run即可,但是好像不是最新的0.9.27,因此测试一些c语言的功能就显得不够全面,因此可以手动下载tcc-0.9.27-win64-bin.zip文件,将c:\Users\xxx\.vscode\extensions\tuymove.tcc-compiler-0.0.4\下的文件用0.9.27的替代即可使用了。方便快捷。...

2020-11-30 19:34:53 118

原创 X Macros in C

https://www.codeproject.com/articles/1116877/x-macros-in-c#:~:text=X%20Macros%20in%20C%201%20Introduction.%20In%20this,a%20few%20years%20ago.%20...%204%20Conclusion.%20

2020-11-30 17:33:45 31

原创 宏定义相关的文章整理

网上找到了很多比较好的文章,特此整理下:傻孩子的“为宏正名”系列知乎专栏:https://zhuanlan.zhihu.com/p/59807834可变参数的讨论:https://stackoverflow.com/questions/5588855/standard-alternative-to-gccs-va-args-trick,宏定义的黑魔法 - 宏菜鸟起飞手册:https://onevcat.com/2014/01/black-magic-in-macro/C宏展开的几个注意事

2020-11-15 12:01:08 25

原创 两个比较好的ooc(面向对象c语言编程)库

https://github.com/GorgonMeducer/PLOOChttps://github.com/Akagi201/lw_oopc都是大佬的手笔值得学习

2020-11-14 21:45:19 67

原创 基于stm32f103ze hal库的内部flash磨损均衡算法的实现与测试

stm32f103ze是大容量的芯片,每个page2k字节,每次至少写2字节,即2*n字节数量,通常情况下,写入数据都是1->0,而不能0->1,因为这个是flash的特向决定的,如果是0->1的操作,那么必须要整个page擦除,这个和eeprom是不一样的, eeprom是可以按字节进行读写的,当时容量没有flash大,因此各有利弊。通常,stm32flash可以来保存一些数据,可行方案有在固定的地址中,写入数据,每次写入数据,都要将原有的数据保存到sram中,然后加上新的数据,执

2020-11-14 12:29:25 132

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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