嵌入式
文章平均质量分 92
qqssss121dfd
practice,practice,practice,excellent .
展开
-
STM32的API接口的BIN文件的生成以及调用
文件尽可能的小且方便调用,这里额外的定义了一个用来存储每个接口的函数指针的结构体并定义了一个对应的结构体变量且初始化为每一个。接口我们可以这样操作,定义一个指向前面定义的存储每个接口的函数指针的结构体的指针变量且赋值为。),然后对每个接口的调用就很简单了,可以像是调用普通的函数一样调用。文件的内容如图3所示,最前面两个字的内容就是我们这里定义的两个。文件的形式给别人进行调用,下面介绍的方法可以使得生成的。文件下载到了对应的存储空间区域,此时如果需要调用。文件存放的存储区域的起始地址(这里假设从地址。原创 2024-04-01 14:51:54 · 990 阅读 · 0 评论 -
使用J-Link Commander通过J-LINK以命令的形式来访问ARM通用MCU
通常我们的操作是写好程序然后将程序下载到芯片里面,然后运行程序来进行相应的操作,其实还可以使用。硬件之外还需要安装图1所示的软件,根据自己的平台来安装,安装完之后我们这里主要用到的是图2中的。现在软件和硬件都有了,我们来看一下如何用命令的形式来访问ARM通用MCU,这里以。的一页需要多个操作寄存器的命令,这时我们可以把所有这些命令放到一个文件里面,文件扩展名为。和芯片建立联系,联系建立之后就可以开始使用上面的链接提到的命令。所在的目录,如图3所示,然后可以用下面带参数的命令来建立图2的。原创 2024-03-06 16:26:55 · 1993 阅读 · 0 评论 -
ARM单片机中程序在ROM空间和RAM空间的分布(分散加载文件,Scatter-Loading Description File)
分散加载文件的使用原创 2024-03-05 20:49:06 · 1238 阅读 · 0 评论 -
STM32F103的FSMC模块驱动LCD屏幕
STM32 FSMC LCD原创 2022-11-24 19:48:17 · 2609 阅读 · 0 评论 -
STM32 Cube MX以及STM32 H750 XBH6新建工程,HAL库,LL库
STM32H750XBH6原创 2022-08-12 15:28:32 · 1680 阅读 · 0 评论 -
创建Cortex-M系列芯片下载算法
CORTEX-M系列处理器内部FLASH下载算法模板原创 2022-07-31 16:27:07 · 907 阅读 · 0 评论 -
CAN总线协议之TTCAN
TTCAN原创 2022-07-02 18:43:36 · 6143 阅读 · 5 评论 -
CiA 603:对于CAN总线网络的一种和AUTOSAR 兼容的时间管理方案,SAE J1939,AUTOSAR
CIA603原创 2022-06-17 17:09:41 · 1214 阅读 · 0 评论 -
ARM单片机上的C语言库<setjmp.h>的使用
在看别人的ARMARMARM单片机的程序的时候,看见了对setjmpsetjmpsetjmp的调用,跳转过去之后发现还是库的内容,我以前也没有碰见过,于是这在这里记录以下。 要调用setjmpsetjmpsetjmp只要把头文件setjmp.hsetjmp.hsetjmp.h包含进来就可以了,我这边看到的是这个头文件位于KEILKEILKEIL的安装目录,如图1所示。这个应该也是CCC语言原创 2022-03-16 17:55:08 · 1508 阅读 · 0 评论 -
内存地址空间,ARM单片机代码和数据在存储空间中的分布以及函数调用中的栈帧的返回地址和函数指针
在早期,建立一个计算机系统是比较简单的,因为用户的期望没有那么多。从存储器的观念来看,早期的设备没有给用户提供太多的抽象。基本上设备的物理存储器的状态就如图1所示的那样。 图1....原创 2022-01-26 17:11:04 · 2406 阅读 · 0 评论 -
CAN总线基础学习
以下内容主要基于维基百科的CANCANCAN总线协议介绍。 一辆汽车由许多的零件组成,这些零件又被划分为许多单元,每一个单元都会有一个核心(或者简单的就是一个控制芯片)负责控制该部分的运行。但是这些单元并不是孤立存在的,它们需要相互的进行信息沟通才能保证一辆汽车的合理运行。 在CANCANCAN总线提出以前如果一个单元要和另外的5原创 2021-12-17 15:21:59 · 1323 阅读 · 0 评论 -
华大单片机驱动库文件编译出错问题说明以及有硬件浮点运算单元的MCU的keil工程配置参数
今天在华大的官网上下载了HC32F460HC32F460HC32F460系列的芯片的驱动文件,如图1所示,然后用该驱动库文件新建完工程之后,编译有错误,错误如图2所示。这里主要都是图2中红圈中的错误,当然也有一些警告信息。这里的错误的大意就是变量的定义和声明不能位于执行语句的后面。但是我打开下载的驱动文件中华大官方自己的例子工程之后就就没有这种报错,也没有任何警告。 图1. 图2. &nb原创 2021-12-02 16:02:31 · 1648 阅读 · 0 评论 -
STM32-F103-ZET6上的CoreMark跑分测试
其实已经有很多通过提供一个简单的数来尝试整体评估CPUCPUCPU的性能基准,比如主频(MHzMHzMHz), 每秒百万指令(Million Instructions per Second,MIPS), 每秒百万操作(Million Operations per Second,MOPS),每秒百万浮点操作(Million Floating Point Operations per Second,MFLOPS)。但是当我们在看CPU的整体的潜在性能的原创 2021-08-10 20:51:54 · 2919 阅读 · 4 评论 -
循环冗余校验,CRC,基础介绍以及纵向冗余校验,LRC
在信道的通信过程中由于噪声等因素难免会引起信道中所传输的数据出错,循环冗余校验就是为了在接收方检验所接收的数据是否有错以及进行进一步纠错的一种方法。例如STM32F103STM32F103STM32F103芯片里的PECPECPEC功能其实就是采用循环冗余校验来实现在接收方的通信错误判断功能,如图1所示。 图1. 图2. 图2. 图2. 图2....原创 2021-07-06 15:07:06 · 1997 阅读 · 0 评论 -
线性表基础介绍
以下内容主要参考了严蔚敏版的数据结构教材,仅为加强学习,不做其他用途。 线性结构的特点是在数据元素的非空有限集合内:存在唯一一个被称做“第一个”的数据元素存在唯一一个被称做“最后一个”的数据元素除第一个之外,集合中的每一个数据元素都只有一个前驱除最后一个之外,集合中的每一个数据元素都只有一个后继 线性表是一种线性结构。原创 2021-06-27 09:28:34 · 210 阅读 · 1 评论 -
ISO-7816 智能卡协议基础学习记录
对于ISO/IEC7816ISO/IEC\quad 7816ISO/IEC7816协议的介绍我直接将维基百科和ISOISOISO组织的该协议的标准文档中的介绍复制了过来:维基百科:ISO/IEC 7816 is an international standard related to electronic identification cards with contacts, especially smart cards, and more r原创 2021-06-11 16:23:36 · 8673 阅读 · 1 评论 -
利用串口调试单片机程序以及宏assert_param的说明
先来讲一下assert_paramassert\_paramassert_param宏,其实这个在stm32stm32stm32的模块的固件库函数中很常见,就是用来判断给函数的参数是否符合要求。以前也没仔细看,一次发现我给的参数不符合要求,但是程序好像也没有出现什么问题,这时我就准备好好看一看了。 在任意一个使用该宏的固件库函数中,右击该宏并在弹出的下拉菜单中选择Go To&nb原创 2021-06-10 10:52:30 · 529 阅读 · 0 评论 -
Local Interconnect Network(LIN)基础和STM32的USART模块的LIN模式
LIN(LocalInterconnectNetwork)LIN(Local Interconnect Network)LIN(LocalInterconnectNetwork)是一种串行网络协议,它主要用于汽车上各个模块之间的通信。它提出的原因是随着汽车工业的发展如果汽车上的所有模块都使用CANCANCAN总线的话性价比太低,简直就是杀鸡用牛刀。LINLINLIN就是CANCANCAN总线的一种互补协议,但是LINLINLIN协议代价更低,但是足原创 2021-02-11 18:34:20 · 2660 阅读 · 0 评论 -
SPI协议基础
以下内容主要参考于维基百科。 SPI(SerialPeripheralInterface)SPI(Serial\quad Peripheral\quad Interface)SPI(SerialPeripheralInterface)协议是一种同步串行通信协议,它主要用于嵌入式系统中的短距离通信。它由摩托罗拉公司在198019801980年代中期设计并且现在已经成为了事实上的标准。最常见的原创 2021-01-05 09:30:15 · 747 阅读 · 2 评论 -
I2C协议基础以及SMBUS和PMBUS基础介绍
I2C(Inter−Integrated Circuit)I^2C(Inter-Integrated\ Circuit)I2C(Inter−Integrated Circuit)协议也是我们经常在单片机开发中用到的很常见的协议,按字面翻译就是“集成间的电路”,之前主要用来在同一块电路板上模块之间的通信。协议是由飞利浦公司(PhilipsPhilipsPhilips)在80年代发明设计,2006年飞利浦公司的半导体事业部从飞利浦拆原创 2021-01-05 09:28:50 · 1154 阅读 · 1 评论 -
并行,串行,同步,异步与UART,串口,TTL,RS232,RS485相关概念认识与解读
目前算是正式准备搞一搞嵌入式了,在工作中也经常会听到:用“串口”打印一下信息或者用"UART"口打印一下信息,其实就是配置单片机(这里以STM32F103ZET6为例)的USART(Universal Synchronous Asynchronous Receiver Transmitter)模块,然后将一个USB转串口线连接到PC上,串口线的RX,TX和地线分别连接到芯片USART模块的TX,RX和地线。这样就可以在单片机和PC之间相互发送文本信原创 2020-12-17 11:05:50 · 3085 阅读 · 0 评论 -
指令集架构、微架构、处理器架构、CPU架构、内核
前两天看书碰到了“CPU架构”这个词,脑子里感觉有点模糊不懂。查阅相关资料后又陆续碰到了“指令集架构”、“微架构”、“处理器架构”等词,于是就更加懵逼了。接着又陆陆续续的看了些资料,同时结合自己的一些理解,给出这些词的解释,也方便以后查阅。以下关于“指令集架构”和“微架构”的英文解释摘录于维基百科(参考资料1和2): 1. 指令集架构 An instruction set archi原创 2017-12-08 11:27:04 · 21268 阅读 · 4 评论 -
移位寄存器MC74HC165ADTR2G和MC74HC595ADTR2G 功能介绍以及使用配置
在数字电路中原创 2020-05-20 18:48:12 · 2053 阅读 · 0 评论 -
旋转编码器(rotary encoder)旋转方向的判断
旋转编码器又称为轴编码器,它是一种将轴的角度位置或运动方向的信息转换为模拟或数字信号的电机械设备。有两种类型的编码器:绝对式的和增量式的。绝对式旋转编码器输出的是轴的精确位置,其被作为一种角度换能器。增量式旋转编码器输出的只是轴的大概旋转方向,但是不能确定其准确的角度位置信息。这一段内容参考于维基百科。 以下要讲的是一种增量式旋转编码器,如图1所示。图1来至于这里。以下的相关原理介绍以及源原创 2020-05-15 10:01:25 · 14410 阅读 · 8 评论