STM32从傻子到智障你今天有的时间是后来的你所梦寐以求的,加油哇!通讯协议,百度下,大同小异。USART,通用同步异步收发器 左边引脚部分:TX发送数据输出引脚RX:接收数据输入引脚SCLK发送时钟输出引脚上面寄存器部分:USART_DR包含一个发送用的TDR寄存器和一个接收用的RDR寄存器。 发送时,将TDR寄存器内容发送到移位寄存器,一位位发出。接收时把收到的每一位保存到接收移位寄存器,然后
转载
2024-07-01 06:03:52
163阅读
STM32 SPI协议简介STM32是ST公司推出的一款基于ARM Cortex-M内核的32位微控制器,具有高性能、低功耗、易扩展等特点。其中,SPI(Serial Peripheral Interface)是STM32中常用的通信协议之一。SPI协议概述SPI协议是一种同步的串行通信协议,由一个主设备和一个或多个从设备组成。主设备通过时钟信号控制数据传输,从设备在时钟信号的作用下接收或发送数据
原创
2023-06-19 18:12:17
869阅读
前言上一节,我们完成了STM32物联网套件中STM32单片机开发环境的搭建,本节我们正式学习STM32单片机,编程语言的学习,通常是从第一个"hello world"开始,而点灯实验便是单片机学习的开始。一、基础知识1. STM32物联网套件简介 STM32物联网套件目前有两个版本:基本版和高级版,后续会增加应用版本和语音版,核心板均采用STM32F103C8T6核心板,基础版主要元器件如下所示:
转载
2024-03-10 12:02:57
334阅读
在前一篇博文中我们已经介绍了在RT-Thread OS 下实现了IEEE1599/PTP 协议。但是这只是第一步,如何在控制系统中使用这一同步时钟呢?我们来讨论一下这个问题同步时钟源 实现了本机语主时钟设备同步
文章目录前言一、Protobuf简介二、使用步骤2.1 Protobuf翻译器介绍2.2 利用Protobuf.c编辑器生成.c和.h文件2.3 Keil5配置与编写2.4 结果与分析2.4.1 Protobuf封装序列化之后结果(16进制hex)2.4.2 hex数据解码结果2.4.3 分析 前言最近项目上有用到把传感器数据封装成Protobuf协议再上传到平台解析的需求,嵌入式这边用到的是S
1 下载协议 1.1 JTAG协议 JTAG全称 joint test action group,边界扫描系统协议;是调试芯片的通用标准协议; 1.2 SWD协议 SWD全称 serial wire debug,串行调试协议;也是调试芯片的通用标准协议;2 SWJ-DP SWJ-DP全称 serial wire/JTAG - debug port,串行和边界扫描系统调试端口;为s
转载
2024-08-14 21:38:14
543阅读
导论Xmodem协议是一种很久之前就被提出的协议,其作为一种简单的工具,使得两台电脑可以相互通讯。由于其具有的半双工、128字节长度包数据(译者注:对于包数据长度不足128字节的情况,使用0x1A填充到128字节,一般发生于传输的最后一个数据包)、ACK/NACK应答以及CRC校验这些机制,在很多应用场合中都能见到Xmodem协议的身影。实际上,现在个人计算机上的大多数通信包都有一个xmodem协
STM32的JTAG和SWD模式的区别一:JTAG JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。相关JTAG引脚的定
一、USB简介USB(Universal Serial BUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在 PC 领域的接口技术。USB 接口支持设备的即插即用和热插拔功能。USB 是在 1994 年底由英特尔、康柏、IBM、Microsoft 等多家公司联合提出的。USB 发展到现在已经有 USB1.0/1.1/2.0/3.0 等多个版本。目前用的最多的就是
前提准备:1.库函数基础模板 2.stlink下载器、USB-TTL下载器、单片机最小开发板stm32F103C8T6 3.面包板及相关接线 4.vscode与keil的联合开发更流畅 5.串口软件,这个下面视频有本文基于 哔哩哔哩 江科大自化协STM32入门教学 知识讲的非常详细,非常感谢作者的无私奉献,本文主要是基于此进行试验笔记。便于以后查找。1.在库函数模板的前提下,在工程文件下新建文件夹
转载
2024-07-14 17:49:25
44阅读
STM32 的图形加速器 DMA2D1. 背景 在实际使用 LTDC 控制器控制液晶屏时,配置好的显存地址写入要显示的像素数据,LTDC 就会把这些数据从显存中搬运到液晶面板进行显示。实际上要显示的数据量非常的大,我们常常以纯软件的方式填充显存(指定那个位置要显示什么颜色),这样非常影响绘图速度,因此我们希望能用 DMA 来操作,针对这个需求,STM32 专门定制了 DMA2D 外设,它可以用于快
目录一、本文讨论内容二、工具与源码三、Modbus概述四、Modbus-RTU通讯协议五、完成Modbus输入输出代码六、完成Modbus逻辑功能七、测试与验证一、本文讨论内容 本文简明概要的介绍Modbus通讯协议,并在STM32上实现Modbus协议,通过与Modbus Poll(一种Modbus上位机工具)联
转载
2024-05-11 07:59:25
2069阅读
相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些。下文中的bootload就来实现这样的功能。 前段时间有项目关于Bootload设计。所以就仔细的去了研究了一翻。以前都是用的stm32官方的,没有去深入了解。这次做完了过后,发现官方的版本存在一些问题。比如说YModem传送过程中,完全
转载
2019-02-11 16:55:00
1642阅读
2评论
目前我总结了两种串口通信时用到的串口协议程序。均学习的原子哥的。一、定义某个字符为一次接收数据完成,如/n/r。二、定义两个字符接收时间间隔,如10ms。超过即为第二次接收。一、程序示意:二、程序示意、#include \"delay.h\"
#include \"usart2.h\"
#include \"stdarg.h\"
#include \"stdio.h\"
0 keil5库函数配置1、建立工程文件夹,Keil中新建工程,选择型号
2、工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹。 Start文件夹中:复制 \STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm下,8个启动文件之
转载
2024-07-11 05:32:40
231阅读
STM32中的RTC51单片机通常是外置的RTC芯片如DS1302,那么STM32的RTC是什么情况呢?STM32芯片自带RTC,因此不须像其他MCU需外接RTC模块。先读一读单片机的数据手册。实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。RTC模块和时钟配置系统(RCC_BDCR寄存器)处于
原标题:如何在STM32上移植Linux?超详细的实操经验分享刚从硬件跳槽为嵌软时,没有任何一丝的准备。一入职,领导就交代了一项特难的任务——在stm32上移植linux!瞬间我就懵了,没办法硬着头皮上吧,先搜集资料,我之前跑的是ok6410的板子上运行的linux,现在是在stm32上移植,以前stm32倒是玩过,研究生期间就捣鼓过它,但现在还没从抓烙铁的硬件当中缓过神来,就转到嵌入式软件的开发
背景在使用PyTorch深度学习框架的时候,不管是训练还是测试,代码中引入PyTorch的第一句总是: import torch 在Gemfield前述专栏文章里,我们已经得知,torch/csrc/stub.cpp链接libshm.so、libtorch_python.so、libcaffe2_gpu.so生成了_C.cpython-37m-x86_64-linux-gnu.s
转载
2024-06-22 15:38:58
248阅读
STM32的串口发送和接收都相对简单,这里自定义了一种串口协议,可以根据这串口协议扩充添加其他功能,原理大家可以查手册或其他介绍,这里直接给代码,代码里有详细注释;1)编译器IAR8,系统win10;2)板子:STM32F103C8T6核心板,如下:3)下载器:ST-LINK/V2仿真下载器;4)串口连接器用的是USB-TTL下载器,其用的是PL2303芯片,所以要下再驱动;在网上下载安装了好几种
多年前在使用STM32中的硬件SPI通讯过程中,发现所给的例程实际上是有问题的。最近我的学生跟同事总跟我反映:“SPI通讯他们调试速度总是上不去,芯片支持到25MHz,我们只能做到1M左右。” 今天台式SPI的时候,我将这个问题放上来说一下。 在STM32的SPI通讯过程中,非DMA模式下,每发送一个数据后,我们的代码是这样写的:void SPI1_Send_Byte(unsigned char
转载
2024-10-29 21:24:28
192阅读