目录一、前言二、必要资料1、C语言类型2、片上资源/外设3、引脚定义4、系统结构三、GPIO初始化1、首先使用RCC开启GPIO的时钟2、其次使用GPIO_Init函数初始化GPIO3、最后使用输入或输出的函数控制GPIO口四、delay,oled函数的调用1、delay2、oled一、前言前几天系统地将32单片机学习了一下,学习的视频是bilibili的江科大自化协c8t6的教学,为了方便以后使用,在这里和b站视频联动写下一篇笔记,以便自己查阅资料和调用函数。二、必要资料1、C语言类型int在51单片机中是16位的,在STM32中32位的,如果要用16位的数据要用short来表示float和
前言基于GUN开源工具链,搭建Windows平台下ARM编译运行环境!🐱🚀文中涉及的开发工具包已打包上传,可点击此处下载。文章速览前言一、安装git-bash二、安装MinGW-w6432位下载地址: [MinGW-MinimalistGNUforWindows](https://sourceforge.net/projects/mingw/)64位下载地址: [MinGW-MinimalistGNUforWindows](https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/)2.1Mi
.text.global_gcd_gcd: movr0,#9 movr1,#15 blooploop: cmpr0,r1 beqstop subhir0,r1 bhiloop subccr1,r0 bccloopstop: bstop .end 用for循环实现1~100之间和5050.text.global_gcd_gcd: movr0,#0x0 movr1,#0x1 movr2,#0x64 blooploop: cmpr1,r2 bhistop addr0,r0,r1 addr1,#0x1 bloopstop: bstop .end
前提准备:1.库函数基础模板2.stlink下载器、USB-TTL下载器、单片机最小开发板stm32F103C8T63.面包板及相关接线4.vscode与keil的联合开发更流畅5.串口软件,这个下面视频有本文基于哔哩哔哩江科大自化协STM32入门教学知识讲的非常详细,非常感谢作者的无私奉献,本文主要是基于此进行试验笔记。便于以后查找。1.在库函数模板的前提下,在工程文件下新建文件夹Hardware,然后在keil中将文件目录加一下,Hardware文件下的文件也可以在keil下添加,添加时注意文件目录。保存关闭keil,打开VScode显示以下文件说明添加成功。具体步骤就不详细说明了,写过L
文章目录GCCobjcopy简介objcopy常用参数GCCobjdump简介GCCreadelf介绍GCCnm介绍上篇文章:ARM嵌入式编译系列5–GCC内建函数__builtin详细介绍下篇文章:ARM嵌入式编译系列7–ARMGCC链接脚本详细讲解GCCobjcopy简介objcopy是GNU二进制工具集(binutils)的一部分,主要用于复制和转换目标文件。在ARMGCC中,arm-none-eabi-objcopy通常用于从链接后的ELF格式文件中提取出二进制文件或其他格式的内容,这对于嵌入式开发特别有用,因为这样的文件可以直接烧写到微控制器的闪存中。objcopy常用参数下面是一些
大概意思就是arm每个函数开始都会将PC、LR、SP以及FP四个寄存器入栈。 下面我们看一下这四个寄存器里面保存的是什么内存arm-linux-gnueabi-gccunwind.c-mapcs-w-g-ounwind(需要加上-mapcs才会严格按照上面说的入栈)#include#includestructstackframe{ unsignedlongfp;//低地址 unsignedlongsp; unsignedlonglr; unsignedlongpc;//高地址};voidbacktrace(){ structstackframe*frame=NULL; unsignedlon
完整的伺服系统所包含的模块比较多,因此无法逐一详细介绍,所以本章着重介绍设计难度较高的FPGA部分并简单介绍ARM端的工作流程。FPGA部分主要有FOC算法、电流采样算法及编码器采样算法,是整个控制系统的基础,直接决定电机控制效果的好坏。因为FPGA工作的特殊性,需要考虑设计时序的合理性及合理统筹多种任务的执行顺序,导致了其设计难度大大提高。下面将对FPGA重要部分程序进行设计说明,主要分为SVPWM算法模块、编码器反馈模块和电流采样模块。4.1SVPWM算法程序设计根据第二章第四小节可以知道,SVPWM算法的工作流程如图4-1所示。首先对ܷߙ和ܷߚ解码判断当前扇区,接着计算当前扇区的基本矢量
ARM架构ARM是一个指令集,前面讲的几个汇编指令这些都算做指令。ARM公司有意思的地方是,他们不做ARM设备,他们只设计指令集架构,然后授权(知识产权核,IP核)给其他半导体厂商做。A:application,主打高性能,手机电脑有许多就是ARM架构的。R:realtime,主打实时,比如车联网对实时性要求很高。M:microcontroller,应用于小型嵌入式系统,我们使用的板子。m系列有m0到m7(简单说就是性能逐渐增加?),而且向下兼容即m7兼容m0~m6.SoC我们的板子上有一个黑色的小芯片,上面写着stm32blabla一串字符。这个就是整个板子的核心,相当于囊括了上文提到的计算
卸载可能存在的旧版本sudoaptremovedockerdocker-enginedocker-cedocker-io安装依赖使apt可通过HTTPS下载包sudoaptupdate&&aptinstall-yapt-tranport-httpsca-certificatescurlsoftware-properties-commonapt-transport-https用于支持通过HTTPS协议下载软件包,ca-certificates是用于管理SSL/TLS证书的软件包,software-properties-common是一个用于管理软件源的工具添加docker密钥阿里云docker源
qt官网上如果没有找到对应的安装包,就需要下载源代码自行编译安装qt,时间会久一点qt下载进入官网下载如下图步骤选择源代码包(以5.12.12为例)可以复制链接地址在迅雷上创建下载任务,下载速度会快些qt的编译与安装需要先安装gcc与cmake解压安装包将文件放置到文件夹下,解压(例如解压到/usr/local/qt)tarxvfqt-everywhere-src-5.12.12.tar.xz-C/usr/local/qt/解压安装包Qt依赖于一些库文件和工具,需要先安装这些依赖项,否则Qt编译和运行过程中会出现问题。在不同的Linux发行版上,安装依赖的命令会有所不同。例如,在Ubuntu/