在stm32的外设中,串行通讯包括串口、IIC、SPI,并行通讯包括SDIO、FSMC。
/******************************************************************************************/
全双工:USART、SPI,可以同时接受和发送;串口和SPI也可以工作在半双工。
单工:IIC。
/******************************************************************************************/
同步:有时钟信号。
在时钟高电平时,数据有效(必须保持不变),在时钟低电平时,数据是无效的,可以变化。这时,要保持数据正确,对时钟的要求也比较高,不能有尖峰杂波。
异步:无时钟信号。
stm32中,对UART通讯采用过采样的方式,来确定数据的准确性,通常使用16倍过采样,具体的实现方式:
如果检测到8个连续的低电平,则认为起始信号来了,这样每次都在计数16个采样脉冲读数据,这时就是在每个信号的重点读取数据,取中点处(第8个脉冲)作为有效信号,这是最常用的做法。还有些方式,计算7 8 9的脉冲,然后二选一作为有效信号,两种方式都可以,但第一种准确性更高。
/******************************************************************************************/
比特率和波特率
码元:在数字通信中常常用时间间隔相同的符号来表示数字。这样的时间间隔内的信号称为码元,这个间隔称为码元长度
波特率:是码元传输速率单位,他说明单位时间传输了多少个码元。
比特率:是信息量传送速率单位,即每秒传输二进制代码位数。bit/s
可能还不是很清楚,举例说明:
如果在数字传输过程中,用0V表示数字0,5V表示数字1,那么每个码元有两种状态0和1. 每个码元代表一个二进制数字。此时的每秒码元数和每秒二进制代码数是一样的,这叫两相调制,波特率等于比特率。
如果在数字传输过程中,0V、2V、4V和6V分别表示00、01、10和11,那么每个码元有四种状态00、01、10和11. 每个码元代表两个二进制数字。此时的每秒码元数是每秒二进制代码数是一半的,这叫四相调制,波特率等于比特率一半。
/******************************************************************************************/
关键字:STM32 通讯 外设
引用地址:
stm32专题十:通讯
推荐阅读最新更新时间:2024-11-06 23:23
STM32启动代码概述
一般嵌入式开发流程就是先建立一个工程,再编写源文件,然后进行编译,把所有的 *.s文件和 *.c文件编译成一个 *.o文件,再对目标文件进行链接和定位,编译成功后会生成一个 *.hex文件和调试文件,接下来要进行调试,如果成功的话,就可以将它固化到 flash 里面去。 启动代码是用来初始化电路以及用来为高级语言写的软件作好运行前准备的一小段汇编语言,是任何处理器上电复位时的程序运行入口点。 比如,刚上电的过程中,PC机会对系统的一个运行频率进行锁定在一个固定的值,这个设计频率的过程就是在汇编源代码中进行的,也就是在启动代码中进行的。与此同时,设置完后,程序开始运行,注意,程序是在内存中运行的。这个时候,就需要把一些源文件
[单片机]
TCL通讯亮相2017德国IFA展 Alcatel IDOL5等多款新品受关注
电子网消息,当地时间2017年9月1日,2017柏林国际电子消费品展览会(IFA 2017)在柏林正式拉开帷幕,作为全球三大消费类电子产品展览会之一,IFA展每年都吸引世界各国的顶级科技企业汇聚于此,展示其最新产品及前沿技术。全球领先的移动终端及互联网服务提供商TCL通讯在此次IFA展会上集中发布四款Alcatel品牌智能手机新品,为全球用户带来科技创新、功能丰富的产品体验。 IDOL 5系列:实力兼具颜值 呈现卓越沉浸式体验 一直以来,Alcatel品牌的旗舰产品IDOL系列都以其精湛的外观设计以及卓越的性能而深受用户青睐,该系列的新品IDOL 5和IDOL 5S也依然延续这一优良传统。 从外形来看,IDOL 5S机身纤薄,厚
[手机便携]
科胜讯任命Daniel Artusi为新任总裁暨执行长
前任总裁暨执行长Dwight Decker将继续担任非执行董事长一职 宽频通讯与数字化家庭半导体解决方案全球领导厂商科胜讯系统公司(Conexant Systems Inc.),于日前宣布任命Daniel Artusi为新任总裁暨执行长,同时他也将成为公司董事会委员之一。Artusi将于今年7月9日履新。现年57岁的前任总裁暨执行长Dwight Decker于今年3月宣布退休计划,董事会旋即着手进行继任人选等相关安排。Decker在交棒之后,将继续担任公司非执行董事长一职。 过去两年间,Artusi任职于专门提供通讯与计算机业高效率电源解决方案的民营供货商ColdWatt,担任董事长暨执行长一职。在此之前,Artusi亦曾于混
[焦点新闻]
STM32使用虚拟示波器
在调试过程中.,经常会有需要看到数据实时变化的情况,这时候便需要用到虚拟示波器。如:制作平衡车时,需要了解拟合角度跟随加速度计和陀螺仪的动态变化情况;做电机PWM调速时需要了解速度的变化曲线等。 对于虚拟示波器的选择,由于之前参加过飞思卡尔,用过是山外的多功能调试助手中的虚拟示波器,感觉还不错。 现在想用stm32制作一个平衡车,需要用到虚拟示波器,现在把使用方法分享出来,给那些有需要的人。 首先是通信协议:(下面是虚拟示波器部分的通信协议) 虚拟示波器采用串口通信的方式和下位机通信。因此首先要配置好串口(这里就不做介绍了),接下来便需要实现发送函数。 ///发送一个字节的数据 void usart3_send_c
[单片机]
STM32 BOOT 引脚配置的说明
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 用户闪存: BOOT1=x BOOT0=0 芯片内置的Flash。 SRAM: BOOT1=1 BOOT0=1 芯片内置的RAM 区,就是内存啦。 系统存储器:BOOT1=0 BOOT0=1 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM 区。 在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表: BOOT1=x BOOT0=0 从用户闪存启
[单片机]
STM32 计数器模式
输入捕获模式 库函数例程位置: STM32F10x_StdPeriph_Lib_V3.3.0\Project\STM32F10x_StdPeriph_Examples\TIM\InputCapture 在输入捕获模式下,当检测到ICx信号上相应的边沿后,计数器的当前值被锁存到捕获/比较寄存器(TIMx_CCRx)中。当捕获事件发生时,相应的CCxIF标志(TIMx_SR寄存器)被置 1 ,如果使能了中断或者DMA操作,则将产生中断或者DMA操作。 在捕获模式下,捕获发生在影子寄存器上,然后再复制到预装载寄存器中。 PWM输入模式 库函数例程位置 :STM32F10x_StdPeriph_Lib_V3.3.0\Project\
[单片机]
STM32 DMA详解——一串口为例
一. DMA原理: DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到 暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。 DMA 传输将数据从一个地址空间复制到另外一个地址空间。当 CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器 来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。 二.STM32使用DMA 1.D
[单片机]
【GD32 MCU 入门教程】GD32 MCU 常见外设介绍(1)RCU 时钟介绍
众所周知,时钟是MCU能正常运行的基本条件,就好比心跳或脉搏,为所有的工作单元提供时间 基数。时钟控制单元提供了一系列频率的时钟功能,包括多个内部RC振荡器时钟(IRC)、一个外部 高速晶体振荡器时钟(HXTAL)、一个外部低速晶体振荡器时钟(LXTAL)、一个或多个锁相环(PLL) 一个HXTAL时钟和LXTAL时钟监视器、时钟预分频器、时钟多路复用器和时钟门控电路等。 本章,我们将通过一个“输出HXTAL时钟信号” 的实验来熟悉RCU的工作流程。 1.1RCU 配置 GD32系列MCU在启动后首先会执行Reset Handler,紧接着就会执行SystemInit()函数,而时钟的初始化,就是在这个函数中进行,其主要的功能是配
[单片机]