E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
嵌入式学习笔记
嵌入式学习笔记
(23)通信的基础概念
5.1.1通信的发展历史(1)烽火台、狼烟;信件;电子通信(电报、电话、网络信号)(2)通信中最重要的两个方面:信息表示、解析方法+信息的传输方法(3)通信双方事先需要约定好信息的表示方法和解析方法,要做到一致才能实现有效传递。(4)信息的传输方法是指经过编码后的信息如何让在传输介质上传输的过程。总结:通信的过程分为3步,发送方将可以有效信息按照编码方式进行编码,然后在传输介质上进行传输,接收方接
嵌入式开发白菜
·
2023-09-19 02:03
嵌入式学习笔记
编程
嵌入式
学习
笔记
嵌入式实时数据库
汇编
开发语言
嵌入式学习笔记
(32)S5PV210的向量中断控制器
6.6.1异常处理的2个阶段可以将异常处理分为2个阶段来理解。第一个阶段是异常向量表跳转;第二个阶段是进入了真正的异常处理程序irq_handler之后的部分。6.6.2回顾:中断处理的第一个阶段(异常向量表跳转阶段)处理(1)第一个阶段之所以能够进行,主要依赖于CPU设计时提供的异常向量表机制。第一个阶段的主要任务是从异常发生到响应异常并且保存/恢复现场、跳转到真正的异常处理程序处。(2)第二个
嵌入式开发白菜
·
2023-09-14 21:50
嵌入式学习笔记
编程
嵌入式
学习
笔记
嵌入式实时数据库
嵌入式硬件
单片机
嵌入式学习笔记
(30)S5PV210的中断体系介绍
6.4.1什么是中断?(1)中断的发明是用来解决宏观上的并行需要的。宏观就是从整体来看,并行就是多件事情都完成了。(2)微观上的并行,就是指的真正的并行,就是精确到每一秒甚至每一刻,多个事情都在同时进行的。宏观上面的并行不等于微观的并行,有时候宏观上是并行的,微观上是串行的。(3)例子中一个人在看电影,快递来了暂停电影跑去收快递,收完快递继续回来看电影,这个例子就是宏观上的并行和微观上的串行。例子
嵌入式开发白菜
·
2023-09-14 21:20
嵌入式学习笔记
编程
嵌入式
学习
笔记
嵌入式实时数据库
嵌入式硬件
51单片机
嵌入式学习笔记
(31)异常向量表的编程处理
6.5.1像内存一样去访问异常向量表(1)S5PV210的异常向量表可以改变(在CP15协处理器中),以适应操作系统的需求。但是目前系统刚启动,此时DRAM尚未初始化,程序哦都市在iSRAM中运行。210在iSRAM中设置了异常向量表,供暂时性使用。(2)查210的iROMapplicationnote文档中iRAM的地址分配,可知,iRAM中的异常向量表起始地址为0xd0037400。知道了异常
嵌入式开发白菜
·
2023-09-14 21:20
嵌入式学习笔记
嵌入式
编程
学习
笔记
stm32
嵌入式硬件
51单片机
嵌入式实时数据库
单片机
嵌入式学习笔记
(33)S5PV210的第二阶段处理过程
(1)第一个过程,怎么找到具体是哪个中断:S5PV210中因为支持的中断源很多,所以直接设计了4个中断寄存器,每个32位,每位对应一个中断源。(理论上210最多可以支持128个中断源,实际支持不足128个,有些位是空的);210没有子中断寄存器,每个中断源都是并列的。当中断发生时,在irq_handler中依次去查询4个中断源寄存器,看哪一个的哪一位被置1,则这个位对应的寄存器就发生中断,即找到了
嵌入式开发白菜
·
2023-09-14 21:17
嵌入式
嵌入式学习笔记
编程
学习
笔记
嵌入式学习笔记
(24)串口通信的基本概念
串口:universalasynchronousreciverandtransmitter,通用异步收发器串口通信的特点:异步、电平信号、串行(1)异步:串口通信的发送方和接收方之间没有统一的时钟信号。(2)电平信号:串口通信出现的时间比较早,速率较低,传输的距离较近,所以干扰还不太明显,因此当时使用了电平信号传输。后期出现的传输协议都改成差分信号传输了。(3)串行通信:串口通信每次同时只能传输1
嵌入式开发白菜
·
2023-09-12 15:02
嵌入式学习笔记
嵌入式
编程
嵌入式实时数据库
学习
笔记
嵌入式硬件
51单片机
嵌入式学习笔记
(25)串口通信的基本原理
三根通信线:TxRxGND(1)任何通信都要有信息作为传输载体,或者有线的或则无线的。(2)串口通信时有线通信,是通过串口线来通信的。(3)串口通信最少需要2根(GND和信号线),可以实现单工通信,也可以使用3根通信线(TxRxGND)来实现全双工通信。(4)一般开发板都会引出SoC上串口引脚直接输出的TTL电平的接口(x210开发板没有哦),插座用插针式插座,每个串口引出的都有3根线(TxRxG
嵌入式开发白菜
·
2023-09-12 15:02
嵌入式学习笔记
嵌入式
编程
单片机
stm32
嵌入式硬件
嵌入式实时数据库
51单片机
笔记
学习
嵌入式学习笔记
(27)uart stdio的移植
什么是stdio?(1)#include(2)stdio:standardinputoutput(3)stdio是os定义的默认的输入和输出通道。一般在PC机的情况下,标准输入指的是键盘,标准输出指的是屏幕。(4)printf函数和scanf函数可以和底层输入、输出函数绑定,然后这两个函数就可以和stdio绑定起来。也就是说我们直接调用printf函数输出,内容就会被从标准输出输出出去。(5)在本
嵌入式开发白菜
·
2023-09-12 15:02
嵌入式学习笔记
嵌入式
编程
学习
笔记
嵌入式实时数据库
嵌入式硬件
单片机
汇编
c语言
嵌入式学习笔记
(26)5S5PV210串行通信编程实战
5.5.1整个流程分析整个串口通信相关程序包含2部分:uart_init负责初始化串口,uart_putc负责发送一个字节5.5.2串口初始化关键步骤(1)初始化串口的Tx和Rx引脚所对应的GPIO(查原理图可知Tx和Rx分别对应GPA0_1和GPA0_0)(2)GPA0CON(0xE0200000),bit[3:0]=0b0010bit[7:4]=0b0010(3)初始化这几个关键寄存器UCON
嵌入式开发白菜
·
2023-09-12 15:30
嵌入式学习笔记
编程
嵌入式
单片机
嵌入式硬件
嵌入式实时数据库
嵌入式学习笔记
19.12.19
红绿灯模式切换:显示模式->设置模式Key1调整三种模式:红绿黄Key2增加超时结束输入状态语音模块字符转语音录制:采样模拟量模拟量转数字量只需要连接串口发送->接受线USB转串口CH340串口通信协议:(串行通讯最基本需求)1.起始标志:2.数据长度:3.有效数据:4.校验:5.结束标志:密钥:对称密钥:非对称密钥:公钥(只能解密)/私钥(私钥等级更高,可加密)公钥不能推算成私钥异或校验:编码格
Mo1035
·
2023-09-10 16:31
嵌入式学习笔记
(18)代码重定位实战 下篇
adr和ldr伪指令的区别ldr和adr都是伪指令,区别是ldr是长加载、adr是短加载。adr指令加载的是运行时地址;ldr指令加载的是链接地址。(通过反汇编文件可以深入分析adr和ldr的区别)重定位(代码拷贝)重定位就是汇编代码中的copy_loop函数,代码的作用是使用循环结构来逐句复制代码到链接地址。复制的源地址是iSRAM的0xd0020010,目标地址是iSRAM的0xd002400
嵌入式开发白菜
·
2023-09-08 19:53
嵌入式学习笔记
嵌入式
编程
学习
笔记
嵌入式实时数据库
嵌入式硬件
51单片机
iot
嵌入式学习笔记
(19)SDRAM引入
SDRAM的特性(容量大、价格低、掉电易失性、随机读写、总线式访问)SDRAM/DDR都属于动态内存(相对于静态内存SRAM),都需要先运行一段初始化代码来初始化才能使用,不像SRAM开机上电后就可以直接运行。类似于SDRAM和SRAM的区别的,还有NorFlash和NandFlash(硬盘)这两个。正是因为硬件本身特性有限制,所以才导致启动代码比较怪异、比较复杂。而我们研究裸机是为了研究uboo
嵌入式开发白菜
·
2023-09-08 19:50
嵌入式学习笔记
嵌入式
编程
学习
笔记
嵌入式实时数据库
嵌入式硬件
rtdbs
嵌入式学习笔记
(17)代码重定位实战 上篇
3.5.1任务:在iSRAM中将代码从0xd0020010重定位到0xd0024000注解:本练习对代码本身运行无实际意义,我们做这个重定位纯粹是为了练习重定位技能。但是某些情况重定位就是必须的,譬如在uboot中。3.5.2思路(1)通过链接脚本将代码链接到0xd0024000(链接地址)(2)使用dnw下载时将bin文件下载到0xd0020010(运行时地址)当代码链接地址设置为0xd0024
嵌入式开发白菜
·
2023-09-07 15:13
学习
笔记
嵌入式实时数据库
汇编
开发语言
嵌入式硬件
嵌入式学习笔记
(15)再接S5PV210的启动过程
三星推荐方式:bootloader必须大于16KB小于96KB。假定bootloader为74KB,启动过程:开机,BL0运行,BLO加载外部启动设备中的bootloader前16KB(BL1)到SRAM中运行,BL1运行时会加载BL2(bootloader中74-16=58KB)到SRAM中(从SRAM的16KB处开始用)去运行;BL2运行时会初始化DRAM并且将OS搬运到DRAM中去执行OS,
嵌入式开发白菜
·
2023-09-07 15:43
嵌入式学习笔记
编程
嵌入式
学习
笔记
嵌入式实时数据库
嵌入式硬件
嵌入式学习笔记
(14)位置有关编码
位置无关编码(PIC,positionindependentcode):汇编源文件被编码成二进制可执行程序时编码方式与位置(内存地址)无关。在我们写程序时,必须给链接器指定地址。将来的程序被执行时必须放在当时链接时给定的地址才能运行。位置有关编码:汇编源码编码成二进制可执行程序后和内存地址是有关的。但是也有一种特别的指令他可以跟指定的链接地址没有关系,这些代码不管放在哪里都可以正常运行。分析:Ⅰ.
嵌入式开发白菜
·
2023-09-07 15:42
嵌入式
编程
嵌入式学习笔记
学习
笔记
嵌入式实时数据库
嵌入式硬件
嵌入式学习笔记
(16)反汇编工具objdump
2.4.1反汇编的原理&为什么要用反汇编arm-linux-objdump-Dled.elf>led_elf.disobjdump是gcc工具链中的反汇编工具,作用是由编译链接好的elf格式的可执行程序反过来得到汇编源代码-D表示反汇编>左边的是elf可执行程序(反汇编的源)>右边的是反汇编生成的反汇编程序反汇编的原因有以下:1)逆向破解。2)调试程序时,反汇编可以帮助我们理解,尤其是在理解链接脚
嵌入式开发白菜
·
2023-09-07 15:10
嵌入式学习笔记
嵌入式
编程
学习
笔记
嵌入式硬件
嵌入式实时数据库
rtdbs
单片机
嵌入式学习笔记
(12)汇编写启动代码之设置栈和调用C语言
C语言运行时需求和栈的意义“C语言运行时(runtime)”需要一定的条件,这些条件由汇编来提供。C语言运行时主要是需要栈。C语言和栈的关系:C语言中的局部变量都是用栈来实现的。如果我们汇编部分没有给C部分预先设置合理合法的栈地址,那么C代码中定义的局部变量就会落空,整个程序就会死掉了。(C语言需要汇编设置栈空间来实现局部变量)我们编写单片机程序时(譬如51单片机)或者编写应用程序时并没有设置栈,
嵌入式开发白菜
·
2023-09-05 11:08
嵌入式
编程
嵌入式学习笔记
汇编
c语言
开发语言
嵌入式硬件
嵌入式实时数据库
iot
嵌入式学习笔记
(11)汇编中的看门狗
3.1.1什么是看门狗?看门狗(watchdogtimer看门狗定时器)。大家想象这样一个场景:家门口有一只狗,这个狗定时会饿(譬如说2小时一饿),够饿了会胡乱咬死人。人进进出出要想保证安全必须提前喂狗(必须在上次喂过后的2小时内喂狗才行)。如果超时没喂狗就会被咬死,如果提前喂狗没关系,但是本次喂狗时间就会从这里开始计算。现实中因为一些外部因素,电子设备经常会跑飞或者死机(譬如极端炎热、极端寒冷、
嵌入式开发白菜
·
2023-09-05 11:38
学习
笔记
汇编
嵌入式硬件
嵌入式实时数据库
rtdbs
iot
嵌入式学习笔记
(13)汇编写启动代码之开关iCache
什么是cache,有什么用cache是一种内存,叫高速缓存。从容量来说:CPU寄存器>cache>DDRcache的存在,是因为寄存器和DDR之间速度差异太大了,DDR的速度远不能满足寄存器的需要(不能满足CPU的需要,所以没有cache会拉低整个系统的整体速度)整个系统CPU的供应链由:寄存器+cache+DDR+固态硬盘/硬盘/Flash四阶组成,这是综合考虑了性能、成本后得到的妥协的结果。2
嵌入式开发白菜
·
2023-09-05 11:06
嵌入式学习笔记
嵌入式
编程
汇编
嵌入式硬件
嵌入式实时数据库
iot
51单片机
嵌入式学习笔记
(10)mkv210_image.c代码详解
第1步:检验用户传参是不是3个。第2步:分配16KBbuffer并且填充为0.第3步:打开源bin(led.bin),判断bin长度是否不大于16KB-16Bytes第4步:以16个字符串填充0~15这16个Bytes第5步:将源bin从第17个Bytes开始填充,直到整个内容为16KB第6步:从17个Bytes开始以字节为单位统计校验和第7步:将校验和保存到16个字节的8~12个字节中第8步:以
嵌入式开发白菜
·
2023-09-03 21:21
学习
笔记
服务器
嵌入式实时数据库
嵌入式硬件
嵌入式学习笔记
(9) Makefile文件详解
led.bin:start.oarm-linux-ld-Ttext0x0-oled.elf$^arm-linux-objcopy-Obinaryled.elfled.binarm-linux-objdump-Dled.elf>led_elf.disgccmkv210_image.c-omkx210./mkx210led.bin210.bin%.o:%.Sarm-linux-gcc-o$@$<-c%
嵌入式开发白菜
·
2023-09-02 17:48
嵌入式学习笔记
编程
嵌入式
arm开发
学习
笔记
嵌入式硬件
嵌入式实时数据库
51单片机
iot
嵌入式学习笔记
(7)ARM汇编指令4-多寄存器指令
多寄存器访问指令ldr/str每周期只能访问4字节内存,如果需要批量读取、写入内存的话太慢,解决方案就是ldm/stm,ldm(loadregistermultiple),stm(storeregistermultiple)举例:stmiasp,{r0-r12}将r0存入sp指向的内存处(假设为0x30001000);然后地址+4(即指向0x30001004),将r1存入该地址;然后地址再+4(指
嵌入式开发白菜
·
2023-08-31 13:26
嵌入式学习笔记
嵌入式
编程
嵌入式硬件
嵌入式实时数据库
学习
嵌入式学习笔记
-汇编指令03
协处理器(coprocessor)协处理器是用来减轻cpu负担只执行特定指令的处理器arm微处理器可支持多达16个协处理器,用于协处理操作但是一般只附带最后一个处理器cp15协处理器和MMU,TLB,cache等处理有关通过这两个指令mcr/mrc与协处理器进行指令传输mrcp15,0,r0,c1,c0,0bicr0,r0,#00002000@clearbitsvbicr0,r0,#0000000
Tinelines
·
2023-08-31 13:56
嵌入式学习笔记
嵌入式学习笔记
-汇编常用符号与伪指令
"@"汇编指令中的注释符号"#"表示后面附带的是立即数":"以冒号结尾的指令是标号,标记指令的被分配的地址,类似与c中定义的变量,通过变量代替地址"."表示当前指令地址例如,汇编中死循环的实现b.伪指令前面通常都带一个点,以显示出于指令的不同.globe_start给start外部链接属性.section.text指定当前代码段.ascii/.byte/.short/.long/.word.qua
Tinelines
·
2023-08-31 13:56
嵌入式学习笔记
编译器
嵌入式
arm
嵌入式学习笔记
-汇编基础
汇编的指令与伪指令指令是cpu机器指令的助记符,通过编译会得到机器码伪指令是编译器为辅助引导编译过程而加入的指令,没有实际作用两种风格的ARM指令官方推荐的大写风格同时也是windows平台用的风格gcc风格则是小写风格arm通过寄存器名寻找通用寄存器ARM汇编特点读-改-写LDR与STR架构RISC架构是无法直接读取内存内的数据的,这也是与CISC不同的一点,所以RISC的芯片想要读取数据就要通
Tinelines
·
2023-08-31 13:55
嵌入式学习笔记
嵌入式
arm
编程语言
嵌入式学习笔记
(6)ARM汇编指令2-常用指令
1.14.1常用ARM指令1:数据处理指令数据传输指令movmvn算术指令addsubrsbadcsbcrsc逻辑指令andorreorbic比较指令cmpcmntstteq乘法指令mvlmlaumullumlalsmullsmlal前导零计数clz数据传输指令:movr1,r0@两个寄存器之间数据传递movr1,#0xff@将立即数赋值给r1mvn和mov用法是一样的,区别是mvn是按位取反后传
嵌入式开发白菜
·
2023-08-31 13:54
嵌入式学习笔记
嵌入式
编程
嵌入式硬件
嵌入式实时数据库
rtdbs
iot
单片机
51单片机
嵌入式学习笔记
(5)ARM汇编指令1-ARM汇编特点
指令与伪指令(1)(汇编)指令是CPU机器指令的助记符,经过汇编后会得到一串1、0组成的机器码,可以由CPU读取执行。(2)(汇编)伪指令本质上不是指令(只是和指令一起写在代码中),它是汇编器环境提供的,目的是用来指导汇编的过程,经过汇编后伪指令最终不会生成机器码。ARM汇编特点1:LDR/STR架构(1)ARM采用RISC架构,CPU本身不能直接读取内存,而需要先将内存中内容加载入CPU的通用寄
嵌入式开发白菜
·
2023-08-30 17:26
嵌入式
编程
嵌入式学习笔记
arm开发
嵌入式硬件
嵌入式实时数据库
物联网
汇编
学习
笔记
嵌入式学习笔记
(3)ARM的异常处理方式介绍
什么是异常正常工作之外的流程都叫异常异常会打断正在执行的工作,并且一般我们希望异常处理完后继续回来执行原工作中断是异常的一种异常向量表所有的CPU都有异常向量表,这是CPU设计时就设定好的,是硬件决定的。当异常发生时,CPU会自动动作(PC跳转到异常向量处处理异常,有时伴有一些辅助动作)异常向量表是硬件向软件提供的处理异常的支持。ARM的异常处理机制当异常产生时,ARMcore:(1)将CPSR的
嵌入式开发白菜
·
2023-08-30 17:55
嵌入式
编程
嵌入式学习笔记
学习
笔记
arm开发
嵌入式实时数据库
嵌入式硬件
iot
嵌入式学习笔记
(4)S5PV210的启动过程详解
1.9.1内存SRAM特点是容量小,价格高,优点是不需要软件初始化直接上电就能用DRAM特点是容量大,价格低,缺点是上电后不能直接使用,需要软件初始化1.9.2外存NorFlash:特点是容量小,价格高,优点是可以和CPU总线式相连,CPU上电后可以直接读取,所以用作启动介质。NandFlash:特点是容量大,价格低,缺点是CPU不能总线式访问,需要需要被初始化后通过时序接口读写.一般PC机:很小
嵌入式开发白菜
·
2023-08-30 17:55
嵌入式学习笔记
编程
嵌入式
学习
笔记
嵌入式硬件
嵌入式实时数据库
rtdbs
iot
嵌入式学习笔记
——ARM的编程模式和7种工作模式
ARM提供的指令集ARM态-ARM指令集(32-bit)Thumb态-Thumb指令集(16-bit)Thumb2态-Thumb2指令集(16&32bit)Thumb指令集是对ARM指令集的一个子集重新编码得到的,指令长度为16位。通常在处理器执行ARM程式时,称处理器处于ARM状态;当处理器执行Thumb程式时,称处理器处于Thumb状态。Thumb指令集中的数据处理指令的操作数仍然为32位,指
嵌入式开发白菜
·
2023-08-28 13:34
学习
笔记
arm开发
嵌入式硬件
嵌入式实时数据库
iot
rtdbs
嵌入式学习笔记
—命令控制(cmd)不同盘文件夹的进入
1.首先进入目标盘:直接输入f:,若你存放在d盘则直接输入d:2.进入目标文件夹:输入cd(空格)文件夹名字例如,进入esd文件夹,输入cdesd;进入第三章:cd第三章3.编译及运行c语言文件需提前安装好mingw程序输入gcc(空格)程序名;编译程序输入a.exe运行程序;注意:编译程序不能报错。
清源子呀
·
2023-08-26 22:50
嵌入式c语言学习
学习
笔记
【
嵌入式学习笔记
】嵌入式入门8——SPI总线协议
1.SPI介绍SPI:串行外设设备接口(SerialPeripheralInterface),是一种高速的,全双工,同步的通信总线。主要应用在存储芯片、AD转换器以及LCD中。【注:IIC是电平协议,SPI是边沿协议】1.1.SPI框图(以F1/F4为例,主机模式)SPI外设对应的引脚STM32芯片有多个SPI外设,每个SPI外设输出的信号会到不同的GPIO口。STM32F1有三个SPI。F4/F
Zency_SUN
·
2023-08-20 10:55
嵌入式学习专栏(STM32)
学习
笔记
单片机
嵌入式硬件
stm32
【
嵌入式学习笔记
】嵌入式入门7——IIC总线协议
1.IIC简介IIC即InterIntegratedCircuit,集成电路总线,是一种同步,串行,半双工通信总线。IIC总线协议——总线就是传输数据通道,协议就是传输数据的规则,有以下特点:由时钟线SCL和数据线SDA组成,并且都接上拉电阻,确保总线空闲状态为高电平总线支持多设备连接,允许多主机存在,每个设备都有一个唯一的地址连接到总线上的数目受总线的最大电容400pf限制数据传输速率:标准模式
Zency_SUN
·
2023-08-16 09:22
嵌入式学习专栏(STM32)
学习
笔记
stm32
单片机
嵌入式硬件
嵌入式学习笔记
19.12.25
RTCRealTimeClock时间戳时间记录的是从某一个时间开始到另一个时间点的秒的数量日历功能:年、月、日、时、分、秒设置:获取:32.768K晶振(误差最小的)(一般RTC专用)系统时钟(为操作系统准备的时钟源)(SYSTIK),滴答时钟
Mo1035
·
2023-08-13 04:55
嵌入式学习笔记
002-裸奔篇之点亮led
正如编写第一个程序所打印“helloworld”那样,对TQ2440开发板的初次使用也是从最简单的部分入手,点亮led灯无疑是最简单的,起码只要设置几个寄存器就好,比起打印容易得多了,后续会讲到串口部分再来实现我们这句金典的对白~~~~板子共有4个led灯,如果能够成功点亮其中一个,那么其他几个将不是问题,故而我们的目标是先点亮第一个先,在此我们必须理清几个问题:a.led的引脚连接的相关寄存器b
FZK374470412
·
2023-08-05 01:37
嵌入式linux
嵌入式
linux编程
点亮led
tq2440
S3C2440
嵌入式学习笔记
——基于Cortex-M的单片机介绍
基于Cortex-M的单片机介绍前言1生产厂商及其产品线1.1ARM单片机的产品线1.2命名规则作业12习单片机的资料准备2.1STM32开发所需手册2.1.1芯片的数据手册芯片基本信息内部结构挂接结构作业2引脚数以及片内外设数量2.1.2对应系列的编程手册2.1.3开发板对应的手册2.1.4片外外设芯片手册本文重点M4系列目录前言本文继续接着上一篇中关于Cortex-M的介绍,来记录一些关于AR
小向是个Der
·
2023-08-03 23:22
嵌入式
—M4
单片机
学习
stm32
嵌入式
ARM
【
嵌入式学习笔记
】嵌入式入门3——串口
1.数据通信的基础概念1.1.串行/并行通信数据通信按数据通信方式分类:串行通信、并行通信1.2.单工/半双工/全双工通信数据通信按数据传输方向分类:单工通信、半双工通信、全双工通信单工通信:数据只能沿一个方向传输半双工通信:数据可以沿两个方向传输,但需要分时进行全双工通信:数据可以同时进行双向传输1.3.同步/异步通信数据通信按数据同步方式分类:同步通信、异步通信同步通信:共用同一时钟信号异步通
Zency_SUN
·
2023-08-03 23:52
嵌入式学习专栏(STM32)
学习
笔记
单片机
stm32
嵌入式硬件
【
嵌入式学习笔记
】嵌入式入门1——GPIO
1.什么是GPIOGeneralPurposeInputOutput,即通用输入输出端口,简称GPIO,作用是负责采集外部器件的信息或者控制外部器件工作,即输入输出。2.STM32GPIO简介2.1.GPIO特点不同型号,IO口数量可能不一样,可通过选型手册快速查询快速翻转,每次翻转最快只需要两个时钟周期(F1最高速度可以到50Mhz)每个IO口都可以做中断支持8种工作模式2.2.GPIO电气特性
Zency_SUN
·
2023-08-01 13:33
嵌入式学习专栏(STM32)
学习
笔记
单片机
stm32
嵌入式硬件
【
嵌入式学习笔记
】嵌入式入门2——中断(外部中断)
1.什么是中断打断CPU执行正常的程序,转而处理紧急程序,然后返回原暂停的程序继续运行,就叫中断1.1.中断的作用与意义作用1:实时控制在确定时间内对相应事件作出响应——定时器中断作用2:故障处理检测到故障,需要第一时间处理——外部中断作用3:数据传输不确定数据何时会来——串口中断意义:高效处理紧急程序,不会一直占用CPU资源【注】本篇博客重点介绍外部NVIC和外部中断,其他中断后面的博客再介绍1
Zency_SUN
·
2023-08-01 13:00
嵌入式学习专栏(STM32)
学习
笔记
单片机
stm32
【
嵌入式学习笔记
】嵌入式基础11——STM32常用轮子(SYSTEM)
1.deley文件夹介绍1.1.delay文件夹介绍函数名函数功能OSdelay_osschedlockus级延时时,关闭任务调度(防止打断us级延迟)OSdelay_osschedunlockus级延时时,恢复任务调度OSdelay_ostimedlyus级延时时,恢复任务调度OSSysTick_Handlersystick中断服务函数OSdelay_init初始化延迟函数OS/noOSdela
Zency_SUN
·
2023-07-30 07:51
嵌入式学习专栏(STM32)
学习
笔记
stm32
【
嵌入式学习笔记
】嵌入式基础6——STM32基础知识
1.STM32系统框架1.1.CortexM内核&芯片MCU厂商,经ARM公司授权,添加不同的外设,就成为了各种XX32芯片。1.2.F1系统架构4个主动单元:CortexM3内核DCode总线(D-Bus)、CortexM3内核系统总线(S-Bus)、通用DMA1、通用DMA24个被动单元:内部FLASH、内部SRAM、FSMC、AHB到APB的桥(连接的所有APB外设)AHB:高级高性能总线;
Zency_SUN
·
2023-07-29 12:59
嵌入式学习专栏(STM32)
学习
笔记
stm32
【
嵌入式学习笔记
】嵌入式基础8——STM32CubeMX
1,STM32CubeMX简介STM32CubeMX是ST开发的一款图形配置工具,可通过配置自动生成初始化代码,一个图形配置工具,搭配不同系列的STM32Cube固件包,即可支持不同系列的STM32芯片。①直观的选择MCU型号,可指定系列、封装外设数量等条件型号,可指定系列、封装外设数量等条件型号,可指定系列、封装外设数量等条件型号,可指定系列、封装外设数量等条件型号,可指定系列、封装外设数量等条
Zency_SUN
·
2023-07-29 12:59
嵌入式学习专栏(STM32)
学习
笔记
stm32
【
嵌入式学习笔记
】嵌入式基础10——STM32时钟配置
1.认识时钟树简单来说,时钟是具有周期性的脉冲信号,最常用的是占空比50%的方波1.1.F1的时钟树1.2.F4的时钟树(407为例)1.3.F7的时钟树1.4.H7的时钟树2.配置系统时钟(F1为例)2.1.系统时钟配置步骤配置HSEVALUE:告诉HAL库外部晶振频率,stm32xxxx_hal_conf.h调用Systemlnit()函数(可选):在启动文件中调用,在system_stm32
Zency_SUN
·
2023-07-29 12:59
嵌入式学习专栏(STM32)
学习
笔记
stm32
【
嵌入式学习笔记
】嵌入式基础4——STM32最小系统
1.学会查看数据手册1.1数据手册及相关资料数据手册一般再ST官网或ST中文社区网可下载。学习一款最小系统要参考的资料如下:原理图(硬件手册)数据手册dataset(有芯片的大致信息)参考手册(有寄存器的信息)Cortex-M权威指南开发指南(生产开发板的商家提供)1.2数据手册获取信息STM32F103ZET6的基本参数如下引脚类型包括:电源引脚、晶振引脚、复位引脚、下载引脚、BOOT引脚、GP
Zency_SUN
·
2023-07-29 12:29
嵌入式学习专栏(STM32)
学习
笔记
stm32
嵌入式硬件
【
嵌入式学习笔记
】嵌入式基础7——认识HAL库
1.初识HAL库1.1.CMSISCMSIS(微控制器软件接口标准):CortexMicrocontrollerSoftwareInterfaceStandard,是由ARM和与其合作的芯片厂商、软件工具厂商,共同制定的标准。1.2.HAL库简介直接操作寄存器:执行效率高,时间成本高标准外设库(StandardPeripheralLibraries):F0/F1/F3/F2/F4/L1,目前已停止
Zency_SUN
·
2023-07-29 12:29
嵌入式学习专栏(STM32)
学习
笔记
stm32
【
嵌入式学习笔记
】嵌入式基础3——STM32简介
1.STM32是什么ST——意法半导体;M——MCU/MPU;32——32位2.STM32芯片分类ST官网:https://www.st.comST中文社区:https://www.stmcu.org.cn3.STM32命名规则4.STM32选型*原则:由高到低,由大到小考虑的因素如下性能:确保芯片具有足够的处理能力来满足项目需求。内存:选择具有足够RAM和ROM(或Flash)容量的芯片。能耗:
Zency_SUN
·
2023-07-29 12:28
嵌入式学习专栏(STM32)
学习
笔记
stm32
嵌入式硬件
嵌入式学习笔记
——STM32的时钟树
时钟树前言时钟树时钟分类时钟树框图LSI与LSEHSI、HSE与PLL系统时钟的产生举例AHB、APBx的时钟配置时钟树相关寄存器介绍1.时钟控制寄存器(RCC_CR)2.RCCPLL配置寄存器(RCC_PLLCFGR)3.RCC时钟配置寄存器(RCC_CFGR)4.RCC时钟中断寄存器(RCC_CIR)修改系统时钟配置为内部时钟代码流程编程代码验证**使用NDK的Debug仿真查看STM32的系
小向是个Der
·
2023-07-29 12:58
嵌入式
—M4
stm32
单片机
学习
嵌入式
arm开发
嵌入式学习笔记
——STM32的USART相关寄存器介绍及其配置
文章目录前言USART的相关寄存器介绍状态寄存器:USARTX->SR具体位代表的含义实际代码数据寄存器USARTX->DR波特率寄存器USARTX->BRR控制寄存器(USART_CR)控制寄存器1(USART_CR1)控制寄存器2(USART_CR2)GPIO的复用模式查询对应GPIO管脚配置为复用模式编程实现串口收发一个字节串口打印乱码接收一个字符运行效果M4系列目录前言上一篇中,对串口做了
小向是个Der
·
2023-07-29 12:57
嵌入式
—M4
stm32
单片机
学习
USART
嵌入式
嵌入式学习笔记
——STM32的USART收发字符串及串口中断
USART收发字符串及串口中断前言字符串的收发发送一个字符串接收字符串需求利用串口实现printf中断中断是什么串口的接收中断以及空闲中断实现代码实现效果总结M4系列目录前言上一篇中,介绍了串口收发相关的寄存器,通过代码实现了一个字节的收发,本文接着上面的内容,通过功能函数实现字符串的收发,然后引入中断解决收发过程中while()死等的问题。字符串的收发发送一个字符串根据昨天的字符发送函数,只需要
小向是个Der
·
2023-07-29 12:57
嵌入式
—M4
stm32
单片机
学习
嵌入式
中断
嵌入式学习笔记
——STM32的中断控制体系
STM32的中断控制体系前言STM32中断的概念中断类型中断控制常用控制函数区分中断源与中断信号配置中断优先级分组问题中断使能中断服务函数总结M4系列目录前言上一篇中,借着串口接受的问题,简要说了一下串口中断的作用和用法,本文将对STM32的中断控制体系做个介绍。STM32中断的概念关于中断的概念,在上一篇中已经做了介绍了,说通俗点就是程序正常情况下是在while(1)内运行着相关的任务,例如下图
小向是个Der
·
2023-07-29 12:57
嵌入式
—M4
stm32
单片机
学习
嵌入式
arm开发
上一页
1
2
3
4
5
6
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他