学习笔记
文章平均质量分 77
Linux嵌入式木子
网络工程萌新,空闲时间学习linux,
践行读万卷书,行万里路的人生格言,
每一个强者都有者不一般的过去,
希望大家学习之余,记得体育锻炼,好身体是一切的基础
展开
-
嵌入式常用5种通信协议
嵌入式常用五种通信协议为:IIC、SPI。由于这几种通信协议十分相似又有区别,所以分组记忆,红色的为一组,蓝色的为一组。①组都有两条线,且都是异步通信没得时钟线,②组都有时钟线。关于这五种协议网上有很多教程,也说了很多,现根据自己理解总结如下。①电气接口规定 ②物理层时序图规定 ③协议层数据帧格式一、第一组串口为核心:只有两根线:RX和TX,只能实现点对点通信,使用TTL电平,点对点就是只能两台设备通信的意思,对立面是多点通信。原创 2024-03-14 21:03:53 · 608 阅读 · 0 评论 -
STM32外设分类--学习笔记
本文在于根据自己的理解,将stm32f103外设按照功能分个类别,便于记忆。下面的几张图一定要熟悉,后期编写代码时能够快速找到想要的功能和对应的引脚。我使用的工具链是:使用CubeMX完成keil5工程搭建和引脚初始化功能,然后用Keil5编译和调试代码,再使用VScode阅读和编写代码。至于为什么要使用这三个工具组合起来,是因为这三个软件各自的优点不能集于一身,只能分开使用。原创 2024-03-12 10:45:00 · 2695 阅读 · 0 评论 -
STM32的DMA搬运串口数据
DMA:Direct memory access controller,即直接内存访问控制器,简单点来说,dma的功能就是将数据从A搬运到B,而不需要cpu的参与。A和B均可以是内存和外设。即有内存到内存、外设到外设、外设到内存、内存到外设四种情况。今天我们的实验用到的就是内存到外设的情况,和外设到内存的两种情况。参考手册上有寄存器说明,但是操作寄存器的工作有hal库帮我们做了,所以我们重点放在理解初始化dma的结构体上,配合代码,方便理解和上手,代码读懂了,在结合寄存器手册,思路就非常清晰了。原创 2024-03-11 15:40:19 · 966 阅读 · 0 评论 -
stm32的SysTick外设介绍——学习笔记
SysTick即系统定时器是一个内核外设,而不是片上外设,寄存器手册说明需要查看《Cortex-M3编程手册》,具体是哪一款内核就查哪一款内核的手册,我用的stm32f103所以我查的Cortex-M3。其实就是个24位递减计数器,计数周期是1/SYSCLK,stm32f103里面SYSCLK=72MHZ,所以其计数周期是1/72*10^6s = 1/72us。原创 2024-03-10 12:23:45 · 485 阅读 · 0 评论 -
stm32的EXTI的初始化-学习笔记
最近在学习stm32外设的过程中,学到EXTI这个外设的时候,感觉有点复杂,虽然是hal库开发,但是不明白所以,所以跟着也野火的教程,一遍看寄存器,一边看hal库的例子,写一篇记录在此,以备查阅。以下叙述思路:①EXTI功能框图是最重要的,因为不仅仅可以大致看出配置流程,还能看出寄存器的控制过程。②GPIO的初始化③AFIO和CR1/2/3/4寄存器和EXIT0-15的映射关系,这个可以在手册AFIO章节中看④NVIC的初始化。原创 2024-03-07 17:59:51 · 1200 阅读 · 0 评论 -
STM32的GPIO初始化配置-学习笔记
GPIO_TypeDef中就是控制GPIO的7个32位寄存器,具体每个bit位的作用记得看参考手册。这个结构体不需要我们传入参数。我们需要修改的是GPIO_InitTypeDef结构体。GPIO_InitTypeDef结构体定义如下,可以由我们自己配置gpio引脚,速度,模式,这三个参数都是去修改GPIO_TypeDef里面的成员的某个位的。/*!/*!/*!原创 2024-03-07 14:53:52 · 4019 阅读 · 0 评论 -
stm32启动文件和RCC时钟树-学习笔记
对应的各位的解释如下,此处截图野火提供的中文版参考手册,上图寄存器定义是截的英文手册的图。①PLLXTPRE:在①处可以看到PLLXTPRE可以将HSE二分频或者不分,此处我们的HSE是8M,我们选择不分频。故我们需要将PLLXTPRE置0.在②处,我们选择HSE还是HSI作为PLL的输入时钟,此处我们选择HSE,故我们需要将PLLSRC置为1。③PLLMUL:③处是将HSE频率放大多少倍,我们选择放大9倍,则PLLCLK等于8*9=72MHZ。我们需要将PLLMUL位置为0111.④SW。原创 2024-03-05 17:27:17 · 1077 阅读 · 0 评论 -
stm32的HAL库和各文件作用—学习笔记
①内核支持的库由arm公司编写,core_cm3.h头文件里面实现了内核外设寄存器的映射。stm32f10x_config.h:主要用于包含外设驱动头文件,而stm32f10x_config.h被包含在stm32f10x.h头文件中,故stm32f10x.h成为了stm32唯一打包的头文件。由于stm32芯片是用的arm的内核,st公司做到外设,由于arm的内核通用,芯片公司可以在这个内核基础上设计自己的外设,因此为了方便用户开发,arm公司联合芯片厂商建立CMSIS标准。,与外设地址相关的都在这里面。原创 2024-03-04 22:44:38 · 1393 阅读 · 0 评论 -
C语言语法和库函数-学习笔记
记录C语言语法及库函数的使用方法。主要根据网站——“C语言菜鸟教程”——整理而来,和网上资料,如有侵权联系删除原创 2024-02-21 22:46:01 · 962 阅读 · 0 评论