自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 嵌入式C语言基础和编码规范

写在前面面向单片机C语言开发的初学者,将我个人在大学前两年学习使用单片机过程中入门性的一些知识进行了整理。嵌入式开发常用的C语言内容相较课本教学更有偏向性,其中可以用函数指针去更方便的注册修改中断回调函数,可以用位操作实现寄存器控制和数据字节拆分,可以用带参宏优化代码结构等等等等。我再此简单写一下,仅供大家参考。嵌入式C语言基础1. 回调函数​ **释义:**使用函数指针实现,使程序实现同一个行为具有多个不同表现形式或形态的能力。​ 函数指针其本质是一个指针变量,该指针变量指向一个函数。C程序在

2022-04-10 15:21:36 703

原创 ROBOMASTER裁判系统数据交互

ROBOMASTER裁判系统数据交互写在前面战队之前这部分代码写的很乱,不利于新队员学习和添加内容,所以整理了一下相关内容,主要介绍串口协议数据帧的格式,并创建结构体用于管理交互数据,初学者结合官方文档可以更快的理清头绪。机器人间交互数据结构体串口通信协议格式基于裁判系统的数据交互帧格式需要严格遵守一下格式,其中cmd_id用于说明该协议的功能,data(n-byte)包含自定义,除去数据段外共9个字节。frame_headercmd_id (2-byte)data (n-byte

2022-04-10 15:09:41 4896 1

原创 HAL库下使用CAN

HAL库下使用CAN数据格式:Cube中的设置:修改代码CAN总线使用差分信号,在保证信号稳定的情况下可以在控制总线上挂载多个对象,实现与多个器件的通信。同时CAN有多级接收FIFO作为缓存器,提高总线上的数据承载能力。数据格式:数据在CAN总线上以帧的形式传输,CAN有多种数据格式,通常使用数据帧发送数据。帧格式如下我们需要格外关注仲裁段、控制段和数据段:仲裁段包含CAN ID,标准状态下为11位(可看作三位十六进制数,例如0x200),拓展帧额外增加了18位,RTR位用来表明

2020-05-24 17:11:21 2798

原创 DMA+SPI

DMA+SPI通信DMA+SPIDMA+SPI通信串口DMA发送:SPI+DMA:SPI主机模式与从机模式的区别:SPI的主要中断类型:SPI的寄存器:SPI_CR: 分为两个共32位的控制寄存器。SPI_DR:是一个十六位的可读写寄存器。SPI_SR:是一个十六位只读寄存器,高七位保留。串口DMA发送:发送数据的流程:前台程序中有数据要发送,则需要做如下几件事在数据发送缓冲区内放好要发送的数据,说明:此数据缓冲区的首地址必须要在DMA初始化的时候写入到DMA配置中去。将数据缓冲区内要发

2020-05-17 08:10:28 6282

原创 HAL库配置GPIO

HAL库配置GPIOHAL库与标准库不同的特点:使用`CubeMX`配置GPIO底层参数:总结HAL库中GPIO的相关功能:GPIO的寄存器:总结HAL库与标准库不同的特点:标准库中初始化外设使用结构体变量+Init函数实现,结构体变量作为局部变量,仅包含外设的基础参数。HAL库中结构体变量Handler句柄作为全局变量在配置中断和其他功能的过程中给被广泛引用。与标准库不同,HAL中的中断...

2020-05-04 10:43:11 6390 1

原创 STM32学习笔记(串口+DMA)

小焦的STM32学习日志(一)2020.4.20数据位大小与大端小端:实际应用:`assert_param();`函数的理解:串口配合DMA的使用方法回顾:实现平台说明:重要的初始化内容:需要额外注意的要点:串口DMA总结:2020.4.21串口接收的代码实现:2020.4.22数据拆分宏定义:串口发送的函数实现:串口发送的代码实现 :串口DMA的后记 ,总结:2020.4.20数据位大小...

2020-04-25 22:52:44 1741

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除