自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (3)
  • 收藏
  • 关注

原创 Source Insight最常用的12条快捷键

介绍Source Insight里最常用的12条快捷键Source Insight作为一款代码编辑工具,受到广大单片机工作者的喜欢。熟练的操作快捷键,能大大提升工作效率。Source Insight提供的快捷键太多了,实际使用频率较高的也就12条。所以只要熟记以下12条快捷键的操作,就能让你游刃有余。1快捷键:Alt + G 或 F7功能定义:打开Browse Project Symbols窗口,快速浏览、查找及定位工程内函数或变量的定义。2、3快捷键:Shift + F3 或Shift +

2021-12-11 22:36:05 5634 1

原创 Beyond compare提示文件编码错误处理方法

Beyond compare作为码农必备的神器之一,重要性不用多说。用得好能很大的提升工作效率。今天在使用Beyond Compare比较代码时纳闷了,居然提示“文件编码错误"。记录下与之对应的处理方法。也给后面可能会碰到同样问题的伙伴提供个可能的帮助。问题:如上面所说,用Beyong compare打开代码,提示文件编码错误。但是全程都没有什么异常操作。看了源码也都正常并没有乱码,所以我此时的编码格式也是正确的。也查了些资料,说改编码格式(文本编码格式)。尝试过,坑爹啊,都没用。后面直接去c

2021-01-25 22:09:13 7082 2

原创 KEIL MDK使用malloc申请堆空间注意事项

项目场景:最近有个案子(MCU:STM32F103VCT6)需要定制个小功能,需要用malloc分配大量的空间。本来是没什么,但是无意中发现,KEIL MDK编译时,malloc分配的空间已经超过预设的大小也不报错。后面发现和自己的使用也有关系。在这边记录一下,给有碰到类似问题的网友们一些参考。问题描述:先看启动文件。这里堆分配的大小是0x2000,即8K。Heap_Size EQU 0x00002000 AREA HEAP, NOINIT

2021-01-17 16:25:05 3443 2

原创 使用STM32CubeMX把USB配置成虚拟串口(virtual com port)

应用场景:本次在项目中,由于对方的上位机软件比较老旧。该软件只能通过串口通讯。而我们的设备只引出了USB口。还好STM32 的USB类型可以设置成虚拟串口。所以可以通过把USB枚举成虚拟串口(virtual com port设备)来与该上位机软件通讯。本来是想直接移植STM32 的USB_FS库。奈何移植失败。(给跪了orz orz orz…)又想起CubeMX也可以配置的。就用CubeMX配置工程,效果出奇的好。PC能够正常的枚举和通讯。所以趁热和大家分享分享,自己也做个记录。以下内容就

2021-01-04 22:52:26 6554 1

原创 STM32串口输出异常和printf重定向

使用场景:今天在调试STM32F1项目的时候,碰到一个有点意思的小问题。想着新建个工程,把要测试的函数直接移植到新的工程独立做测试。通过串口来输出信息查看。结果发现串口接收乱码。原因分析:由于STM32的串口我初始化过了,系统外部晶振和倍频系数也改过来。所以能确定不是系统时钟配置错误造成的。那就肯定是串口相关的配置出了问题。这里边就有2种可能:1、串口外设初始化配置出错。(看过参数这边没问题,波特率是配置成115200)2、printf没有做重定向(估计是这边)。于是把printf重定

2020-12-30 21:07:58 3530

原创 代码移植到devcpp报错。[Error] ‘::main‘ must return ‘int‘

今天在做代码移植时,发现一个有意思的东西。在一个编译器(VS)上的代码移植到另一个编译器(DEVCPP)上,就报错了。在这记录并分享一下。使用场景:今天在代码移植时。把c++代码,移植到DEVCPP后,进行编译。提示报错。报错内容 [Error] ‘::main’ must return ‘int’。就纳闷了好好地代码怎么就不行了。如下图:看了下提示也纳闷,为什么非要‘int’?先试试把代码返回值改成‘int’。还就成了。可是为什么呢?原因:查了下才知道,这和DEVCPP 编译器的使用语法

2020-12-29 21:48:19 921

原创 巧用STM32 硬件错误函数HardFault_Handler调试和保护系统

巧用STM32 硬件错误函数HardFaultException调试和保护系统我们在使用STM32的前期调试系统的过程中,可能会由于逻辑出错,造成系统进入硬件错误中断HardFaultException。比如越界访问、指针异常以及别的原因,造成MCU进入异常中断。我们此时可以利用这个中断来进行调试,甚至是做保护。具体使用:STM32 的启动文件里,有“硬件错误中断函数”。当我们不确定写的程序是否正确,并已经发生硬件错误时。只要实现“硬件错误中断函数”的具体内容,可以在里面输出你所需要检测的变

2020-12-19 22:35:37 1307

原创 使用STM32内部HSI (内部RC振荡)作为系统时钟

使用STM32内部HSI (内部RC振荡)作为系统时钟在实际应用中,有时候为了节约成本,我们会能省则省,特别是当项目对成本比较敏感的时候。本文介绍的就是如何使用内部RC时钟(HSI)作为时钟源,并且倍频到48M作为系统时钟。 这样就能不依赖外部时钟。实际案例是通过宏定义来切换,既可以使用外部8M晶振来倍频到72M;也可以使用内部的HSI倍频到48M。一、源码配置1、直接进入正文,我们在文件里定义了两个“宏”,用来切换时钟配置是选内部低速HSI还是外部高速HSE。代码如下(示例):#define

2020-12-09 08:47:37 5261

原创 STM32 CUBEMX的安装

STM32 CUBEMX的安装最近做些项目,有用到stm32的CUBEMX这个工具。而自己在安装过程中出现了些麻烦。所以记录了一下安装过程中碰到的问题,以及对应的解决方法,希望能给同样遇到问题的朋友一点帮助。STEP1:安装java环境在安装CUBE时候,提示报错,原来是因为stm32 cube mx的运行依赖java环境。所以我们先要安装java。要注意电脑的环境,我的系统是Win7 64位,所以要下载对应系统的版本。(下方有链接)java包链接地址:https://www.or

2020-12-03 21:51:27 338

USB_VCP_CSDN_CUBE_MDK.rar

基于STM32 MXCUBE工具,生成的USB VCP工程(实现USB虚拟串口)。 使新式设备也能使用串口。也能提高传输速度。 STM32 USB虚拟串口。 STM32 CDC设备。

2021-01-04

PRO_InternalRc

通过宏开关,切换使用STM32内部HSI (内部RC振荡)作为系统时钟。并倍频到48M;或使用外部晶振倍频到72M。

2020-12-08

jre-8u231-windows-x64

STM32F1 F2 F4 系列 CUBE MX安装环境 ,依赖java环境, win7 win10 64位 java

2020-12-03

空空如也

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

TA关注的人

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