logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【嵌入式STM32】串口通信UART

DMA用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。STM32F1系列有一个DMA控制器,F4系列有两个DMA控制器。两个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA请求的优先权。

文章图片
#stm32
【嵌入式STM32】SPI总结

在大容量产品和互联型产品上,SPI接口可以配置为支持SPI协议或者支持2S音频协议。SPI接口默认工作在SPI方式,可以通过软件把功能从SPI模式切换到I2S模式。注意在小容量和中容量产品上,不支持I2S音频协议。通讯引脚SCK引脚:SPI1/SPI2/SPI3芯片手册中告知,最大速率18Mbps。NSS引脚:有两种NSS模式,软件和硬件。软件模式即可以用指定的GPIO来进行从设备片选。一般采用这

文章图片
#stm32#单片机#嵌入式硬件
【嵌入式】CAN通信

CAN2的(只有互联型设备才有CAN2)。本次使用的STM32F103C8T6只有CAN1。简单看一下,发送的数据会进入3个发送邮箱进行数据发送,接收的数据首先进过滤器,然后放到FIFO中,每个FIFO有3个接收邮箱。

文章图片
#单片机#嵌入式硬件#arm
【嵌入式STM32】TIM定时器总结

stm32F427,定时器的划分如下(参考官方数据手册):stm32f103定时器:这里以TIM4高级定时器为例。先看MX配置:这里的配置选项非常多,下面整理一下。可选的如下:- Disable 关闭从模式,定时器独立运行。- External Clock Mode 1,【外部时钟模式1,很特殊】 定时器时钟时钟源由外部触发信号驱动,用外部脉冲信号作为计数时钟。当设置该项时,Clock Sourc

文章图片
#stm32
【嵌入式STM32】系统架构

/消息头//消息体 } TMsg;typedef struct //消息头 {//接收消息的队列标识//发送消息的队列标识uint8_t F;//消息功能uint8_t T;//消息类型uint8_t C;//消息类别//保留//消息体长度 } TMsgHead;//短消息体struct{} tS;//长消息体struct{//消息体指针//引用计数,如果该消息被投递到多个消息队列,投递时可以增加

文章图片
#stm32#系统架构#嵌入式硬件
【嵌入式STM32】HardFault总结

MSP压栈顺序为R0、R1、R2、R3、R12、LR,**此处LR和上面CPU寄存器的LR是不一样的!当进入HardFault时,首先看CPU寄存器信息,这里LR用于异常返回控制,0xFFFFFFF9可以去看MSP主栈寄存器。改为int显示,直接找0x8开头的,也对应了LR。也就是说,Instance非法了,遇到这种情况可以根据map文件进行问题排查。有时候,进入hardfault时,并没有堆栈信

文章图片
#stm32#嵌入式硬件#单片机
【嵌入式STM32】I2C总结

双线制总线:I2C仅使用两条线——串行数据线(SDA)和串行时钟线(SCL)进行通信,有效降低了连接复杂性。多主多从:I2C支持多个主设备和多个从设备连接到同一总线上。每个设备都有唯一的地址。总线仲裁机制保证同一时刻只有一个主设备控制总线。不同的传输速率:I2C总线支持不同的速率模式,如标准模式(100kbps)、快速模式(400kbps)和高速模式(3.4Mbps)。同步通信:I2C是一种同步通

文章图片
#单片机#嵌入式硬件
【嵌入式】STM32内部NOR Flash磨损平衡与掉电保护总结

以上是状态控制的核心代码,其他和写文件数据内容相关、扇区切换相关略去了,以后有机会可以写个通用的、小型的模块。数据恢复的思路如下,本次检查到非法数据,直接擦了:当写入新的结构时(注意这个结构必须具备唯一标识符),需将旧的结构标记为准备删除,然后写新的结构,当新结构数据写完后,会将旧的结构数据再标记为已删除。这样初始化时扫描所有数据,如果同一个标识符的结构,一个状态为准备删除,一个为准备写入,此时认

文章图片
#stm32
ROS2(补充)Docker容器 + vscode开发

WSL+Docker创建ros2容器的过程,参考。

文章图片
#docker#vscode#容器 +1
    共 18 条
  • 1
  • 2
  • 请选择