在嵌入式系统开发中,串口(UART)是最基础也是最常用的通信方式之一。无论是用于调试信息的打印、与外设通信,还是与主控模块的数据交互,一个稳定可靠、结构清晰的串口通信模块都是不可或缺的。
介绍一个基于 STM32F4 系列微控制器实现的串口通信模块,该模块采用环形缓冲区结构,并结合中断机制,实现了非阻塞、缓存式的数据收发。整体设计思路清晰、逻辑模块化,适合在嵌入式项目中直接复用。
2025年08月10日
在嵌入式系统开发中,串口(UART)是最基础也是最常用的通信方式之一。无论是用于调试信息的打印、与外设通信,还是与主控模块的数据交互,一个稳定可靠、结构清晰的串口通信模块都是不可或缺的。
介绍一个基于 STM32F4 系列微控制器实现的串口通信模块,该模块采用环形缓冲区结构,并结合中断机制,实现了非阻塞、缓存式的数据收发。整体设计思路清晰、逻辑模块化,适合在嵌入式项目中直接复用。
2025年08月10日
一、实验思路
连接两个STM32单片机的串口引脚,单片机A进行发送,单片机B进行接收。单片机B根据接收到单片机A的指令来点亮或熄灭板载LED灯,通过实验现象来验证是否通讯成功。
二、实验器材
两套STM32F103C8T6单片机开发板、ST-Link下载器、杜邦线。
三、实验步骤
3.1 配置单片机基本参数
使用STM32CubeIDE进行配置两个单片机的时钟信息、引脚状态、串口信息、中断等基本参数。两单片机均采用串口1进行通讯,对应串口引脚均为PA9(发送引脚)、PA10(接收引脚);单片机B的GPIOC 13引脚设置为输出状态,以控制开发板LED的亮灭。具体配置如下图:
2025年08月10日
一.数据通信方式
1.串行与并行通信
按数据传送的方式,通讯可分为串行通讯与并行通讯。
串行通讯:是指设备之间通过一根数据信号线,地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,同一时刻只能传输一位(bit)数据。
并行通讯:是指使用 8、16、32 及 64 根或更多的数据线(有多少信号为就需要多少信号位)进行传输的通讯方式,可以同一时刻传输多个数据位的数据。
2025年08月07日
Shuffle就是对数据进行重组,由于分布式计算的特性和要求,在实现细节上更加繁琐和复杂。
在MR框架中,Shuffle是连接Mapper和Reducer之间的桥梁,Map阶段通过shuffle读取数据并输出到对应的Reduce, 而Reduce阶段负责从Map端拉取数据并行计算。在整个shuffle过程中,往往伴随着大量的磁盘IO和网络的数据传输。所以,shuffle性能的高低也直接决定了整个应用程序性能的高低。相比较于MR的shuffle, Spark框架也有自己的独特的shuffle实现过程。
2025年08月07日
在SparkSQL中,在Spark1.3版本时为SparkSQL提供了一种新的数据集结构DataFrame, 而从Spark1.6开始提供了一种新的弹性的、懒执行的、分布式的抽象数据集Dataset,那么它与RDD之前有着什么样的关联呢?
来看看源码中的介绍:
2025年08月07日
1)一个Spark作业运行时包括一个Driver进程,也是作业的主进程,具有main函数,并且有SparkContext的实例,是程序的人口点;2)功能:负责向集群申请资源,向master注册信息,负责了作业的调度,,负责作业的解析、生成Stage并调度Task到Executor上。包括DAGScheduler,TaskScheduler。
2025年08月07日
《大数据和人工智能交流》头条号向广大初学者新增C 、Java 、Python 、Scala、javascript 等目前流行的计算机、大数据编程语言,希望大家以后关注本头条号更多的内容。
(一)Spark简介
2025年08月07日
本文主要从以下几个方面介绍SparkSQL中的DataFrame:
第一,SparkSQL的作用
第二,什么是DataFrame
第三,DataFrame与RDD的区别
第四,DataFrame的创建与使用 (Spark1.x与Spark2.x两种不同版本)
SparkSQL是spark处理结构化数据的一个模块,它的前身是shark,与基础的spark RDD不同,SparkSQL提供了结构化数据及计算结果等信息的接口,在内部,SparkSQL使用这个额外的信息去执行额外的优化,有几种方式可以跟SparkSQL进行交互,包括SQL和DataSet API,使用相同的执行引擎进行计算的时候,无论是使用哪一种计算引擎都可以快速的计算。
2025年08月07日
作者 | 郭俊
封图 | BanburyTang
字节跳动数据仓库架构团队负责数据仓库领域架构设计,支持字节跳动几乎所有产品线(包含但不限于抖音、今日头条、西瓜视频、火山视频)数据仓库方向的需求,如 Spark SQL / Druid 的二次开发和优化。字节跳动数据仓库架构负责人郭俊从 SparkSQL 的架构简介、字节跳动在 SparkSQL 引擎上的优化实践,以及字节跳动在 Spark Shuffle 稳定性提升和性能优化三个方面全方位地分享了字节跳动在 Spark SQL 上的核心优化的探索与实践。