- 博客(16)
- 收藏
- 关注
原创 【STM32开发】win平台开源工具链开发stm32(五)解决头文件依赖
通过前面的几节教程,我们已经成功使用搭建起stm32开发环境并能进行开发。本节将解决vscode中gcc自带头文件搜寻的问题。本节内容需要提前安装C/C++ IntelliSense插件一、问题描述arm-gcc自带了stdint.h、string.h等基本库,便于进行开发,但在vscode没有这些库的路径信息,所以在包含这些库时vscode会提示红色下划线,这也导致vscode无法进行程序中的语法检查。二、解决方法我们需要在vscode中添加一个配置文件,以便vscode能找到ar
2020-11-29 18:09:57
696
原创 【arm-gcc开发STM32】开启stm32f4的FPU
编译环境gcc:arm-none-eabi-gcc version9.3.1stm32f4标准库:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0配置步骤使用arm-none-eabi-gcc编译stm32f4的程序,要开启浮点运算单元FPU,只需要添加下面两个编译选项-mfloat-abi=hard -mfpu=vfpv4-d16-mfloat-abi=hard指示gcc编译器生成浮点指令-mfpu=vfpv4-d16用于指定FPU原理要使用stm32f4的FP
2020-11-25 19:38:23
4832
原创 【STM32开发】win平台开源工具链开发STM32(四)工程结构和新工程建立
目录摘要一、stm32标准库工程结构CORE文件夹HARDWARE文件夹STM32F10x_FWLib文件夹SYSTEM文件夹USER文件夹二、建立新工程1、工程准备2、Makefile模板3、修改core_m3.c4、编译烧录三、移植xprintf完整工程【题外】摘要前面的教程介绍了建立工程需要的一些基本工具,本节将介绍一个STM32标准库工程的结构和各个部分的作用,为建立我们自己的工程打基础。然后将以keil MDK工程结构作为基础,建立新的使用arm-gcc的工程。最后将移植xprintf组件,以
2020-11-08 17:36:04
906
1
原创 【STM32开发】win平台开源工具链开发STM32(三)工程管理工具Makefile
摘要:到目前为止我们学习了编写程序用的工具、编译和下载程序用的工具,理论上来说现在已经能够进行STM32的开发了,但是会很麻烦。用过Keil的同学应该知道,一个STM32工程里有很多的c源文件,如果没有一个工具来帮我们自动控制编译的话,那么编译命令就需要我们自己在命令行里输入,费时费力。本文将介绍编译管理工具Make,并示范如何使用Makefile控制多个c源文件的编译。一、Make和Makefile的关系使用Make工具的流程如下1、编写Makefile2、将Makefile提供给Make,M
2020-10-11 12:30:55
1385
2
原创 【STM32开发】win平台开源工具链开发STM32(二)编译器和下载器
摘要:继上节介绍完stm32的开发流程和文本编辑工具之后,本节将介绍工具链中最重要的两个工具:编译器和下载器。一、编译器百度百科对编译器的解释:编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)编译器的工作
2020-09-12 12:07:19
3645
1
原创 【STM32开发】win平台开源工具链开发STM32(一)工具链介绍
简介本系列教程将介绍如何使用开源工具链在windows平台下搭建STM32开发环境,并手把手实际建立一个使用此工具链的STM32工程进行编译和烧写。至于为什么有了Keil、IAR、STM32CUBEIDE等成熟的开发环境后还要花费时间和经历搭建开发环境,主要原因考虑自己搭建开发环境和控制编译有利于学习STM32工程的构成和如何编译工程,以及熟悉单片机开发的流程。其他的原因就仁者见仁智者见智了,例如觉得IDE过于臃肿,启动速度慢等,读者根据自己的情况考虑即可。本系列教程将包括以下内容:STM32F1
2020-09-11 21:37:51
1749
原创 [电路设计]按键方案
[电路设计]按键方案本文记录和介绍几种按键解决方案,包括普通按键、按键编码电路、ADC按键的工作原理。1、普通按键一般使用的按键原理图如下图所示,由按键、上拉电阻和消抖滤波电容组成。按键断开时KeyIin1KeyIin1KeyIin1处电压被上拉到+5V,当按键闭合时把KeyIin1KeyIin1KeyIin1电压拉到0V,与按键并联的电容起到滤除按键按下与弹起时的高频信号。2、74HC148编码器按键当需要使用多个按键输入并且需要按键中断信号时可以考虑使用74HC148(8-3编码器)构成的
2020-09-06 02:13:04
16374
原创 霍夫变换检测直线原理及C/C++实现
霍夫变换检测直线的原理及C/C++实现霍夫变换原理概述霍夫直线检测原理直线检测算法的流程及代码实现霍夫变换原理概述在图像处理中,霍夫变换是经典算法之一,常被用来检测图像中的直线,圆等特征图形。本节将讨论霍夫变换的理论基础。1、基础理论假设有一个样本集合{(xi,yj)}\{(x_i,y_j)\}{(xi,yj)}我们想从这个样本集合中提取出符合一定条件的子集(称为目标集合){(xi,yj)∣f(x,y)=s}\{(x_i,y_j)|f(x,y)=s\}{(xi,yj)∣f(
2020-05-26 00:53:29
7684
6
原创 运算放大器由来及虚短虚断的讨论
运算放大器由来及虚短虚断的讨论运算放大器在现代有着广泛的应用,它也是电子爱好者经常使用的电子元件之一。在学习运算放大器(运放)的时候,一定会接触到“虚短”、“虚断”两个概念,熟练运用运放的这两个特性会使得运放电路的计算变得十分简单。本文将从运放的诞生以及运放数学模型的角度来探讨“虚短”、“虚短”的由来。1、运放的诞生1、1问题的提出在运放的概念提出之前,当时使用的放大器普遍存在着这样的问题...
2020-04-08 13:28:42
3006
原创 win10+gvim使用ctags的方法
今天突然想学一手emacs,虽然之前一直用的vim,win10下也是使用gvim来查看代码(小工程用vim看代码真的方便),不过总忍不住想要尝尝鲜。虽然emacs,没学多少,不过找到了在windos下用vim+ctags的方法,以后看代码就能很方便的跳转代码定义了。操作方法1、下载emacs去emacs官网下载emacs,解压后进入bin文件夹找到ctags.exe(emacs.exe也...
2019-11-21 01:20:41
2715
原创 ubuntu下stm32开发环境的搭建(从零到点灯)
在ubuntu下搭建stm32开发环境从零开始到点亮小灯一直用的MDK开发stm32,也在用ubuntu,了解到linux下也能开发arm后就一直想试试在ubuntu下写一写stm32的代码。前几天折腾了一番,终于成功把点亮小灯的程序在stm32上跑起来了。在这里记录下整个过程。1、思路这里有篇教程Ubuntu下使用Makefile开发STM32,教程里教你一步一步搭建开发环境。总体思路...
2019-08-20 21:24:43
13735
3
原创 minicom安装与使用
minicom串口工具从安装到使用1、安装sudo apt-get install minicom2、配置sudo minicom -s因为minicom需要读写io,所以需要root权限。不过在配置之前,我们还需要做一些准备工作2、1查看自己的串口设备是哪个端口ubuntu的设备文件在/dev目录下,先不接串口,在终端输入ls /dev > before.txt将当前...
2019-08-20 20:37:57
1587
原创 触摸控制芯片MPR121驱动移植(STM32)
本文记录将arduino下的mpr121触摸板驱动程序移植到stam32f11、触摸板简介之前买了块mpr121做主控的触摸控制板(如下图),卖家给的驱动是arduino的,最近做项目需要移植到stm32上。看了mpr121的用户指南和arduino的程序,其实要移植要做的工作也不是特别多,主要就是iic和外部中断。2、移植思路mpr121采用中断方式与MCU通信,协议用的是IIC。...
2019-07-11 22:31:17
3868
原创 STM32CubeIDE使用记录
STM32CubeIDE使用过程中出现的一点问题和解决方法最近逛ST官网的时候发现ST新推出了自己的IDE,怀着爱折腾的心情下载安装了win版本的试试(毕竟免费)。虽然中途出现了一点小问题,但总的来说体验还是可以的。不废话了,我们开始吧。STM32CubeIDE简介主要特点集成STM32CubeMX,提供以下服务:STM32微控制器选择引脚分配,时钟,IP和中间件配置项目创建和初...
2019-06-04 18:52:59
6271
3
原创 三点式LC正弦波振荡器电路详解
内容提纲正弦波振荡器原理频率稳定条件起振条件LC串并联谐振三点式振荡器的反馈(重点)三点式振荡器谐振条件的推导最近突然对正弦波振荡器来了兴趣,但是看到三点式振荡器之后疑问就来了,主要是其中对谐振条件:X1+X2+X3=0的解释,查了好多资料都没有详细的解释,貌似都是把这个条件当做已知来使用,至于它怎么来的则没有好一些的解释。还有三点式振荡器的选频网络和反馈的接法,越看越头晕。在经...
2019-03-13 23:45:54
48093
24
原创 0.96寸OLED驱动(基于STM32f103)
最近入手了一块0.96寸的oled,一直在用给的例程,总想着自己从驱动开始写一下心里才踏实。==============================================================硬件简介OLED:中景园0.96寸OLED,3线SPISTM32f103ZET6,使用硬件SPI1。驱动芯片SSD1306...
2018-12-26 12:49:29
19487
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人