自学笔记1

这个仅仅是零碎的知识点,还没有总结,总结将会在二月二十五号开始,到时候所有的自学笔记我会完全整理成步骤,到时候会系统的学习,另外这个笔记是学习利用cube使用stm32,而且学习的主要目的是robomasrter,所以出现的大部分历程都是RM的

12月24日

进制前缀表示

二进制 ob
八进制 0
十六进制 0x
十进制无前缀

CAN的初始化配置步骤:

1)配置相关引脚的复用功能,使能(打开)CAN时钟。

我们要用CAN,第一步就要使能CAN的时钟,CAN的时钟通过APB1ENR的第25位来设置。其次要设置CAN的相关引脚为复用输出,这里我们需要设置PA11为上拉输入(CAN_RX引脚)PA12为复用输出(CAN_TX引脚),并使能PA口的时钟

2)设置CAN工作模式及波特率等。Controller Area Network

这一步通过先设置CAN_MCR寄存器的INRQ位,让CAN进入初始化模式,然后设置CAN_MCR的其他相关控制位。再通过CAN_BTR设置波特率和工作模式(正常模式/环回模式)等信息。 最后设置INRQ为0,退出初始化模式。

注:

MCR:是一个用来接通或断开电流的逻辑主开关。如果MCR条件不满足:0分配给输出线圈,置位线圈和复位线圈指令不改变当前值,MOVE指令把0传到目的地址。MCRA指令启动主控继电器功能/MCRD指令取消MCR功能,直到另一个MCRA指令起作用。他就是所有输出线圈能流的起点.就想当于控制回路起点的保险一样的.他断开了,下面的所在都不能正常工作.

CAN_BTR:首先设置波特率,寄存器为总线时序寄存器(CANBTR),1M速率的设置值为0x00170000。之后设置模式寄存器(CANMOD),CAN总线的工作模式,如正常工作模式、复位模式、只听模式等

3)设置滤波器。

本章,我们将使用滤波器组0,并工作在32位标识符屏蔽位模式下。先设置CAN_FMR的FINIT位,让过滤器组工作在初始化模式下,然后设置滤波器组0的工作模式以及标识符ID和屏蔽位。最后激活滤波器,并退出滤波器初始化模式。

至此,CAN就可以开始正常工作了。如果用到中断,就还需要进行中断相关的配置,本章因为没用到中断,所以就不作介绍了。

注:

CAN总线标识符过滤器
过滤器:过滤器在接收时使用,在发送时不需配置过滤器!过滤器会根据标识符而决定节点要不要发送者发过来的报文。通俗一点:是我想要的,我就要;不是我想要的,我就不要。
报文:报文(MESSAGE)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,期长短不一致,长度不限且可变。注意(这里才是重点!):报文也是网络传输的单位,传输过程中会不断的封装成分组,包,帧来传输,封装的方式就是加一些信息段,那些就是报文头以一定格式组织起来的数据。

12月25日

一些常用的术语

MCU 微控制单元(Microcontroller Unit)
ADC = Analog/Digital Converter
BKP = Backup
CAN = Controller Area Network
DMA = Direct Memory Access
EXTI = External Interrupt
Flash就是Flash……
GPIO = General Purpose In/Out
I²C = Inter Integrated Circuit (Bus)
IWDG = Internal Watchdog
NVIC = Nested Vectored Interrupt Controller
PWR = Power
RCC = Reset & Clock Controller
RTC = Real Time Clock
SPI = Serial Peripheral Interface
SysTick = System Tick
TIM = Timer

必须记住的概念

1.占空比:

是指电路被接通的时间占整个电路工作周期的百分比。比如说,一个电路在它一个工作周期中有一半时间被接通了,那么它的占空比就是50%。如果加在该工作元件上的信号电压为5V,则实际的工作电压平均值或电压有效值就是2.5V。假设该元件为一个电子阀门,当电路全时接通时,阀门全开;当占空比为50%时,阀门状态为半开。同理,当占空比设置为20%时,阀门的开度显然应该为20%。这样,这个阀门就可以在0%(全闭)到100%(全开)的范围内任意调节。

2.pid的使用

https://blog.csdn.net/u010312937/article/details/53363831

3.ADC(Analog-to-Digital Converter)

指模/数转换器或者模数转换器 [1] 。是指将连续变化的模拟信号转换为离散的数字信号的器件。真实世界的模拟信号,例如温度、压力、声音或者图像等,需要转换成更容易储存、处理和发射的数字形式。模/数转换器可以实现这个功能

4.CRC(Cyclic Redundancy Check, CRC)

循环冗余校验是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。

5.DAC(Digital to analog converter)

DAC是数字模拟转换器是一种将数字信号转换为模拟信号(以电流、电压或电荷的形式)的设备。在很多数字系统中(例如计算机),信号以数字方式存储和传输,而数字模拟转换器可以将这样的信号转换为模拟信号,从而使得它们能够被外界(人或其他非数字系统)识别。

6.I2C总线(Inter-Integrated Circuit)

2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送

7. I2S (Inter—IC Sound)总线,

又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。

8.IWDG

STM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬,本章我们主要分析独立看门狗的功能框图和它的应用。独立看门狗用通俗一点的话来解释就是一个 12 位的递减计数器,当计数器的值从某个值一直减到 0 的时候,系统就会产生一个复位信号,即 IWDG_RESET。如果在计数没减到 0 之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作就是我们经常说的喂狗。看门狗功能由 VDD 电压域供电,在停止模式和待机模式下仍能工作。

9.RCC(Reset Clock Controller)

ARM里面复位与时钟控制器
系统复位
系统复位将复位除时钟控制寄存器CSR中的复位标志和备份区域中的寄存器以外的所有寄存器,当以下事件中的一件发生时,产生一个系统复位:

  1. NRST管脚上的低电平(外部复位)
  2. 窗口看门狗计数终止(WWDG复位)
  3. 独立看门狗计数终止(IWDG复位)
  4. 软件复位(SW复位)
  5. 低功耗管理复位
    可通过查看RCC_CSR控制状态寄存器中的复位状态标志位识别复位事件来源。

10.RNG

随机数发生器RNG,以环境噪声为种子,产生32位随机数供主机使用。

11.RTC(Real-Time Clock)

实时时钟是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲,RTC经过8254电路的变频产生一个频率较低一点的OS(系统)时钟TSC,系统时钟每一个cpu周期加一,每次系统时钟在系统初起时通过RTC初始化。8254本身工作也需要有自己的驱动时钟(PIT)。

12月27日

1.DMA(Direct Memory Access,直接内存存取)

是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。

2.NVIC(Nested Vectored Interrupt Controller )

提供中断控制器,用于总体管理异常,称之为“内嵌向量中断控制器:NNVIC和处理器内核紧密相连.

3.RTC(Real-Time Clock)

实时时钟是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲,RTC经过8254电路的变频产生一个频率较低一点的OS(系统)时钟TSC,系统时钟每一个cpu周期加一,每次系统时钟在系统初起时通过RTC初始化。8254本身工作也需要有自己的驱动时钟(PIT)。

4.TIM(Timer)

定时器,功能是在指定的时间间隔内反复触发指定窗口的定时器事件

5.SDIO (Secure Digital Input and Output)

安全数字输入输出卡 定义了一种外设接口

6.SPI(Serial Peripheral Interface)

SPI是串行外设接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议,比如AT91RM9200。

7.UART (Universal Asynchronous Receiver/Transmitter)

通用异步收发传输器,通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。UART是一种通用串行数据总线,用于异步通信

8. USART(Universal Synchronous/Asynchronous Receiver/Transmitter)

通用同步/异步串行接收/发送器
USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。

9.FatFs

是一个通用的文件系统(FAT/exFAT)模块,用于在小型嵌入式系统中实现FAT文件系统。 FatFs 组件的编写遵循ANSI C(C89),完全分离于磁盘 I/O 层,因此不依赖于硬件平台。它可以嵌入到便宜的微控制器中,如 8051, PIC, AVR, ARM, Z80, RX等等,不需要做任何修改。

10.reeRTOS

是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对μC/OS-II、embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行

12月28日

1. HAL_UART_Receive_DMA(&huart1,rc_data,18u);

hal库,urat(串口通讯),receive(接收),dma(使用内存,暂存器)
第一个参量的作用是指定位置
第二个参量的作用是选择接收到变量
第三个参量的作用是接收几位数据


2.HAL_TIM_PWM_Start(&htim5,TIM_CHANNEL_1);

tim(定时器) pwm(波)start(开启)
第一个参量的作用是指定定时器
第二个参量的作用是指定通道

3.CanFilterInit(&hcan1)

can(通讯)filter(过滤器)init(初始化)
第一个参量的作用是指定can通讯

1月11日

1. FREERTOS

在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。

2.一些单词

config 配置
init 初始化

3. extern

extern是计算机语言中的一个关键字,可置于变量或者函数前,以表示变量或者函数的定义在别的文件中。提示编译器遇到此变量或函数时,在其它模块中寻找其定义,另外,extern也可用来进行链接指定。

猜你喜欢

转载自blog.csdn.net/weixin_44109556/article/details/85239933