06 2023 档案
摘要:推荐参考文章:【CubeMX配置STM32使用360°旋转编码器(KY-040)】 用于配置如图编码器或者编码电机: CubeMX中,选择编码器模式 CubeMX 配置定时器时基的时候,出现如下选项: 成员变量AutoReloadPreload的取值范围 TIM_AUTORELOAD_PRELOAD
阅读全文
摘要:di" 或者 di' 比如说: 双引号之间: "xxxxxxx" di" 单引号之间: 'xxxxxxxx' di' 以此类推,(、{、< 等括号都可以 扩展: 0. 本质研究:d代表delete, i 代表inside; 如图所示: (注意:上述 dta\dfa 仅仅适用于当前行) 1. d换成y
阅读全文
摘要:前言:此文主要针对stm32系列工程,规范代码可以加速开发速度和dbg速度 源文件和头文件格式规范 这里给出比较规范的源文件头文件应该大致具备的一些格式: /* Includes */ #include <name.h> /* Private typedef */ /* Private define
阅读全文
摘要:HAL库与标准库的一大显著区别就是提供了延时函数接口, 接下来一起看看如何使用它————》 1堵塞式延时 用这种程序会一直等待不能做其它工作,优点是实现简单,适用于断时的单任务等待。 HAL_Delay(1000); //延时1000ms 2 非堵塞式等待 借用系统的开机时间,可以边等待边完成其它任
阅读全文
摘要:疑问1: 宏定义中的 _IO 和 0xEF 有什么用? 1 #define CLOSE_CMD (_IO(0XEF, 0x1)) /* 关闭定时器 */ 2 #define OPEN_CMD (_IO(0XEF, 0x2)) /* 打开定时器 */ 3 #define SETPERIOD_CMD (
阅读全文
摘要:参考文章1:《FreeRTOS的学习(六)——系统时钟》 参考文章2:【FreeRTOS】04 系统的时钟节拍和延时函数 原理 reeRTOS使用裸机自带的滴答定时器中断,使用其主频或者外部频率作为时钟基准。由于定时器的功能作为FreeRTOS的核心,所以正常情况下必须是一个一直运行着的中断,那么就
阅读全文
摘要:线程的特点 一个进程中有多个线程, 每个线程都有自己独立的程序计数器、寄存器和堆栈(虚拟机栈和本地方法栈)。 但线程之间共享着资源——当前进程地址空间、全局变量、打开的文件信息(堆和方法区资源)。 而进程之间不共享地址空间,相互独立,之间的通信(IPC)需要进行系统调用,消耗的算力比线程之间交流要大
阅读全文
摘要:原因1:配置相应的中断向量表 原因2:配置相应的寄存器 总结原因: 因为所有的 stm32f10x 系列的芯片都会用到 stm32f10x.h 这个头文件, 但是问题的所在是:每种芯片的配置不同(中断向量个数、寄存器个数等等) 因此宏条件编译 #if !defined 判断这个宏(这个宏就是 STM
阅读全文
摘要:XH2.5是指pin针间距为2.5的端子。因为XH2.54更常见,也更容易买到,很多时候人们会误以为两者指的是同一种型号,甚至直接混用。其实两者就是不同的间距标准。只是XH2.5 的标准是从日本过来的,而2.54属于欧美标准。因此你会发现,2.5的原始规格书多为繁体字,而2.54的规格书都是简体字。
阅读全文
摘要:转载自:《FeeRTOS在STM32中是如何使用内存的》 一般由C/C++编译的程序占用的内存分为以下5个部分: RAM:1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。(static 修饰的局部变量位于全局区(静态区))2、堆区(he
阅读全文
摘要:1. 已经画好板子,预留了装电机的孔位,买好了电机和车轮子(闲鱼卖家送的),买好了电机座子。 电机的插座排线和固定电机的螺丝螺母还没买。 2. 准备用 FreeRTOS 来构建我的小车,正好CubeIMX可以搭载 FreeRTOS,那么一箭双雕,就用CubeIMX来编程吧。 首先需要了解的是:自己的
阅读全文
摘要:重温编译内核步骤: 命令如下: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_defconfig make ARCH
阅读全文
摘要:转载文章:《数据在内存中存储的方式:大端模式与小端模式》 参考文章:知乎《msb和lsb有什么区别,如何判断一个系统是大端还是小端》 什么是大端模式,什么是小端模式? 所谓的大端模式(Big-endian),是指数据的高字节,保存在内存的低地址中,而数据的低字节,保存在内存的高地址中,这样的存储模式
阅读全文
摘要:观点1:PCIe 只是一种协议,而不是物理接口 作者:褚道长链接:https://www.zhihu.com/question/48972075/answer/521468195来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1. 物理接口 M.2 , U.2 , A
阅读全文
摘要:晶振从材质可以分为石英晶振和陶瓷晶振两大类,而从属性晶振可以分为无源晶振:crystal(晶体)和有源晶振:oscillator(振荡器)。石英晶振和陶瓷晶振从外观上非常有利于区分,毕竟也是两种完全不一样的材质。而无源晶振和有源晶振有时候让人傻傻分不清楚。 1、无源晶振 无源晶振是的无极性元件,需要
阅读全文
摘要:一直没怎么理解GPIO_ACTIVE_LOW的作用 对于以上的dts你应该再熟悉不过,当然这里不是教你如何使用dts,而是关注gpio和irq最后一个数字可以如何利用。例如rst-gpio的OF_GPIO_ACTIVE_LOW代表什么意思呢? 可以理解为低有效。什么意思呢?举个例子,正常情况下,我们
阅读全文
摘要:圆角大小:《电源设计中PCB布线需要注意的事项》提到 纯单板四角需倒圆角,圆角半径r≥0.5mm;如做成拼板,单板可以不倒圆角,但拼板四角需要倒圆角,圆角半径r=3mm; ①板框倒圆角 嘉立创EDA提供了一个边框设置向导,通过它可以很方便的设置边框。可通过:工具 > 边框设置 或者在工具栏的“工具”
阅读全文
摘要:第1道工序:MI MI的全称是Manufacturing Instruction,百度翻译为“制造说明书”。 我们把PCB文件或者Gerber文件下单给嘉立创以后,嘉立创的MI人员会针对我们的PCB文件出一个制造说明书,以供后续工艺使用。不过... 这份MI文件,并不是针对我们一个客户的一张电路板做
阅读全文
摘要:参考文章1:嵌入式软件面经杂谈 本源文章:《嵌入式面经》 1. 嵌入式关键字volatile有什么含意 并给出三个不同的例子 参考文章1:嵌入式面经 参考文章2:关于STM32库中 __IO 修饰符(volatile修饰符) volatile 初印象 最初接触到 volatile,是看野火的自己编写
阅读全文
摘要:转载自:文章《AD19导出bom表的方法(按照元件不同数值分类,重点信息突出)》 我画电路图用的是AD19的软件,最后板子画好了要进行元器件采购要生成bom表,查了一下相关的资料,总结整理一下: 1.在报告(report)打开Bill of Materials(在PcbDoc或者SchDoc打开都可
阅读全文
摘要:步骤 1. 打开控制台:右键 > 检查 2. 在控制台 页面 快捷键 ctrl+shift+p,打开命令输入端,然后输入 javascript 找到 disabled javaScript. 解除禁用: ctrl+shift+p 然后输入 enable javaScript找到 enable jav
阅读全文
摘要:铺铜的意义 PCB铺铜就是将PCB上无布线区域闲置的空间用固体铜填充,铺铜可以减小地线阻抗,提高抗干扰能力,降低压降,提高电源效率,与地线相连,还可以减小环路面积。 数字电路中存在大量尖峰脉冲电流,因此降低地线阻抗显得更有必要,普遍认为,对于全由数字器件组成的电路,应该大面积铺地,但对于模拟电路,铺
阅读全文
摘要:不用设备树 pinctrl 子系统下——使能GPIO的办法: 1. 定义相关宏——各寄存器的物理地址 2. 进行重映射——各寄存器的虚拟地址 3. 为各个寄存器写入参数 使用设备树 pinctrl 子系统下——使能GPIO的办法: 1. 添加pinctrl 信息 2. 添加设备节点信息: 注意:设备
阅读全文
摘要:本文来自博客园,作者:aJream,转载出处:https://www.cnblogs.com/ajream/articles/16061150.html Gerber文件生成 需要两个步骤 输出各个层的文件 输出钻孔文件 1.输出各个层的文件 打开PCB文件后,选择【文件】->【制造输出】->【Ge
阅读全文
摘要:常用快捷键: 1. 关于高亮: 选中某一网络高亮:Ctrl+鼠标左键点击网络 选中多个网络高亮:Ctrl+鼠标左键点击网络+Shift 取消高亮:Ctrl+鼠标左键点击空白处 2. 选中某一个网络 方法一:选中部分线按tab 方法二:shift+F 3. 布线过程中改变线宽:按TAB键 常见问题解决
阅读全文
摘要:板的绘制关键命令 步骤1. 定原点 步骤2:画板框的线 不多讲。 步骤3:重设板框: 定位孔的绘制步骤 举例:以M3定位孔为例(可安装M3螺丝或铜柱) 步骤1:确定PCB板框后,再按下图,选择Mechanical1层→ 放置 →圆; 步骤2:在Mechanical1层绘制任意圆,双击圆,弹出Prop
阅读全文
摘要:作者:阿灰链接:https://zhuanlan.zhihu.com/p/569154446来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 我想整理一下一个基础的框架,适用于初学者学习,只有一个框架,有机会再加上实例。 原则是实用为主,学习难度低些,不要太深入细节,尽
阅读全文
摘要:AD20图层分类 转载自:知乎文章《Altium Designer PCB各层的含义 20210709》 ①、与电气属性相关的层:2类层 一、top layer - 顶层 & bottom layer - 底层 板子顶层的金属布线;板子底层的金属布线 二、 multilayer 多层 一个抽象层 电
阅读全文
摘要:1. Win+Printscreen:截取当前整个屏幕并保存到电脑图片文件夹。 2. Win+Shift+S:可以进行矩形、任意形状、窗口和全屏截图,还可以进行涂鸦、裁剪和标尺/量角器编辑。 3. Win+W:屏幕草图会自动截取当前屏幕内容,点击打开便可以直接进行编辑标注
阅读全文
摘要:给下面的代码每一行行尾加入分号,有几种方法呢? 1 var foo = 'aotu' 2 var bar = 'is a team' 3 var foobar = foo + bar 方法一,使用点操作符 $移动到行尾,a;<Esc>完成一行分号的输入;($a;<Esc>)按j移动到下一行,重复步骤
阅读全文
摘要:看完书,我自己重新写了一遍代码。 写代码过程中,对DMA以下标绿的部分很不以为意。 1 void SD_DMA_TxConfig(uint32_t *DMA_Tx_Buf, uint32_t BufferSize) 2 { 3 DMA_InitTypeDef DMA_InitStruct; 4 5
阅读全文
摘要:本文欣赏 STM32 官方 EVAL 开发板给出的SD卡例程的代码注释。 1. 在函数部分之前,将D.M.V.F(定义、宏、变量、函数)在文档之前全部用注释表明清楚,罗列好。 1 /* Private macro */ 2 /** 3 * @brief SDIO Static flags, Time
阅读全文
摘要:所有SD卡(即“安全数码”SecureDigital简称), 无论大小如何,均使用一或两个类似于优盘和固态硬盘中的小型NAND闪存芯片,以及一个微型处理器来管理数据和指令。 ①尺寸标准 SD卡共有三种尺寸标准: 标准SD卡: 32 x 24 x 2.1-1.4毫米 迷你(mini)SD卡: 21.5
阅读全文