波特率

N76E003之串口

匿名 (未验证) 提交于 2019-12-03 00:39:02
N76E003包含两个具备增强的自动地址识别和帧错误检测功能的全双工串口。由于两个串口的控制位是一样的,为了区分两个串口控制位,串口1的控制位以“_1”结尾(例如SCON_1)。下述详例以串口0为例。 每个串口都有一种同步工作模式:模式0。三种全双工异步模式:模式1,2,和3,这意味着收发可以同时连续进行。串口接收带有接收缓存,意味着在接收的前一个数据在被读取之前,串口就能接收第二个数据。接收和发送都是对SBUF进行操作访问,写入SBUF数据将直接传到发送寄存器,而读取SBUF是访问一个具有独立物理地址的接收寄存器。串口共有4种操作模式,任何一种模式,任何以操作SBUF的指令都将开始一次传输。注意,在使用串口功能前,串口所用管脚P0.7及 P0.6 (RXD 及 TXD引脚) 或者 P0.2及 P1.6 (RXD_1 及 TXD_1)必须先置1。N76E003提供更灵活的管脚配置,可将串口0的TXD及RXD通过UART0PX (AUXR1.2)更改位置。 13.1 ģʽ 0 模式0是与外部设备进行同步通信的方式。在该模式下,串行数据由RXD脚进行收发,而TXD 脚用于产生移位时钟。这种方式下是以半双工的形式进行通信,每帧接收或发送8位数据。数据的最低位被最先发送或接收,波特率设置为FSYS/12(SM2 (SCON.5) 为 0) 或 FSYS/2 (SM2 为 1)

8251A 同步模式和异步模式

匿名 (未验证) 提交于 2019-12-03 00:37:01
a:异步模式 b:同步模式 最低两位 00 8251A工作在同步模式,最高位指明了同步字符的个数,0-2个,1 -1 个 01 波特率因子为1,同步 10 8251A工作在异步模式,波特率因子为16 11 波特率因子为64,异步 波特率,时钟频率,波特率因子之间的关系 同步模式 波特率=RxC 和TxC引脚上的时钟频率 异步模式 RxC|TxC 时钟频率 = 波特率 * 波特率因子 文章来源: 8251A 同步模式和异步模式

MSP430F5438A系列之串口通讯

匿名 (未验证) 提交于 2019-12-03 00:21:02
前言: MSP430F5438A 这款芯片,以后所有的程序都是基于该芯片。 本次需要实现的功能:单片机判断串口0收到的字符,输出相应的字符串到上位机。 下面直接上代码: 测试结果如下:发送字符“A”,返回“Hello! Welcome to MSP430F5438A!”; 下面对时钟源选择和波特率配置进行简要说明: 1、时钟源选择 2、波特率配置 波特率寄存器值需根据芯片数据手册中的推荐值进行配置。由于时钟源与波特率的比值(分频系数)一般来说是非整数值,所以UCA0BR1和UCA0BR0用于配置分频系数的整数部分,UCA0MCTL用于分频系数的配置小数部分: 文章来源: MSP430F5438A系列之串口通讯

i3型3D打印机制作详解――Marlin固件介绍

匿名 (未验证) 提交于 2019-12-03 00:18:01
Marlin固件下载 基本配置 使用 Arduino IDE 打开 marlin.ino,切换到 Configuration.h 即可查看并修改该文件。或者使用任何一款文本编辑器(notepad,notpad++等)直接打开 Configuration.h 也可以。Marlin固件的配置主要包含一下几个方面: 开始介绍 电脑和打印机通过串口进行通讯,要定义好端口和波特率,在此定义的是 3D 打印主板的端口和波特率,端口号使用默认的 0 就可以了。Marlin 固件默认的波特率是 250000,也可以修改为其他值,比如 115200,这是标准的 ANSI 波特率值。 #define SERIAL_PORT 0 #define BAUDRATE 250000 下面定义主板类型,Marlin 固件支持非常多种类的 3D 打印机主板,比如常见的RAMPS1.3/1.4、Melzi、Printrboard、Ultimainboard、Sanguinololu 等控制板。需要注意的是不同主板使用不同的脚口和数量,如果该定义和 Arduino IDE 中使用的主板不一致,肯定会 导致编译不通过。笔者使用的是 RAMPS1.4 并且 D8、D9、D10 控制的是一个喷头加热、一个加热床加热和一个风扇输出,因此定义为 33。 #ifndef MOTHERBOARD #define

STC8

匿名 (未验证) 提交于 2019-12-03 00:13:02
一 时钟:   IRC:24MHZ;LSI:32.768KHZ;HSE:4~33MHZ,外设可分频 二 2种低功耗模式: IDLE:1.3MA@6MHZ,外设可唤醒。 STOP: 三:ISP下载更新模式:无需专用仿真器 四:C51开发模式: 众多的寄存器:IO设置/中断设置/外设,引脚分时复用功能选择的功能切换寄存器。 五:串口的4个模式: 模式0:同步移位模式,TXD:为同步时钟;RXD为DATA_IO 模式1:8为可变波特率,常用模式,需要定时器提供波特率 模式2:9位固定波特率 模式3:9位可变波特率,主要用于多机控制SM2=1,多机控制下的地址匹配提供类似RS485的硬件地址自动匹配(地址寄存器和地址屏蔽寄存器(符合屏蔽要求的响应)) 六:自动代码:   利用STC-ISP可以进行波特率计算,定时器计算,软件延时计算。 七:RTOS:   Small RTOS/ TINIUX : https://github.com/SenseRate/TINIUX.git 具体可以参考《蹄牛操作系统TINIUX 简明教程》,参考 http://www.51hei.com/bbs/dpj-108281-1.html 以codeblocks位IDE,移植后要修改: 在 OSPreset.h 文件中,把#include <mcs51/8052.h>调整为#include "stc8.h"

【Stm32学习笔记】-- 串口通讯

拜拜、爱过 提交于 2019-12-03 00:10:53
串口设置一般步骤: 1、串口时钟使能,GPIO时钟使能 2、串口复位 3、GPIO端口模式设置 4、串口参数初始化 5、开启中断并且初始化NVIC(开启中断时) 6、使能串口 7、编写中断处理函数 串口时钟使能:在stm32f103中,串口时钟有外设时钟使能寄存器控制。 (p.s. APB1ENR,APB2ENR) 串口波特率设置:STM32的每个串口都有独立的比特率寄存器USART_BRR,通过设置该寄存器即可配置相应波特率。寄存器各位描述如下图。 该寄存器高十六位全部设置为0,低十六位分别表示除法因子的整数部分和小数部分。 STM32串口波特率计算公式如下: 分子是给串口的时钟(PCLK1 用于 USART2、3、4、5,PCLK2 用于 USART1) USARTDIV为无符号定点数。 我们只要得到 USARTDIV 的值,就可以得到串口波特率寄 存器 USART1->BRR 的值,反过来,我们得到 USART1->BRR 的值,也可以推导出 USARTDIV 的值。 假设我们的串口 1 要设置为 115200 的波特率,而 PCLK2 的时钟为 72Mhz。这样根据上面的公式有: USARTDIV=72000000/(115200 16)=39.0625 DIV_Fraction=16 0.625=1=0X01; DIV_Mantissa=39=0X27; 这样

常用通信接口电气特征(三):UART

匿名 (未验证) 提交于 2019-12-03 00:05:01
UART,通用异步收发传输器(Universal Asynchronous Receiver/Transmitter).一般指TTL/CMOS电平的串口(广义也包括RS232-C电平的,甚至RS422, RS485)。 引脚定义:Tx(发送)、Rx(接收)。 传输速率:由设置的波特率决定,常用300、600、1200、2400、4800、9600、19200、38400、43000、56000、57600、115200。波特率与比特率的关系也可换算成:比特率=波特率 单个调制状态对应的二进制位数。如数据传送速率为240b/s,而每个字符格式包含10位(1个起始位,1个停止位,8个有效数据位),这时的波特率为240 baud (波特),比特率(有效数据位的传送速率)为240 10=2400 bps(比特每秒)。 传输类型:全双工 接口类型:TTL或CMOS电平,广义也包括RS232.一般推挽输出,内部上拉输入。 电平范围:由TTL/CMOS电平决定,高电平常用有1V8/2.5/3.3/5V,电平0V。若是RS232则高电平-15V ~ -3V,低电平3V~15V。 电平变化与逻辑关系:TTL和CMOS都是高电平为1,低电平为0。空闲时时高电平。 数据格式; UART作为异步串口通信协议的一种,工作原理是将数据的字节一位接一位地传输,如下: 空闲位:UART协议规定

SIM800_基本指令调试笔记

匿名 (未验证) 提交于 2019-12-03 00:01:01
调试环境: 软件:SSCOM33等串口助手软件; 基本指令:AT 显示模块制造商,名称和版本信息:AT+GSV 关闭回显功能:ATE0 第一个指令有原样返回+”OK“: ATE0+OK 第二个指令只有回复”OK” 开启回显功能:ATE1 查询当前串口波特率 AT+IPR? 返回:IPR:0 说明当前的波特率为自适应; 设置串口波特率 AT+IPR=115200 具体支持的波特率详见AT指令手册 设置成功后,将其设置为自适应AT+IPR=0,方便以后的使用,开发中需要,再将其设置为固定波特率。 SIM 命令 列出可用电话薄:AT+CPBS=? 选择SIM电话簿:AT+CPBS="SM" 显示电话薄条目范围:AT+CPBR=? 列出电话薄内容:AT+CPBR=1,10 写一则条目至当前电话薄中:AT+CPBW=,"138*******",,"China mobile" 添加成功,电话薄中多了用户名:China mobile 电话:138******** 的条目 可用查找指令查找条目:AT+CPBF="China mobile" 以条目位置为索引删除当前电话薄的条目:AT+CPBW=2 删除条目为2的电话薄 查看电话薄AT+CPBR=1,10,条目2已被删除。 呼叫控制命令 发起语音呼叫:ATD10086; 拨打10086免费电话进行测试。 挂断呼叫:ATH 重播上一次电话号:ATDL

无线传输模块HC-12

匿名 (未验证) 提交于 2019-12-02 23:49:02
无线传输模块HC-12使用      因为实验室的无人机需要使用一款无线传输模块进行遥控控制,我们讨论的中测试了HC-12,并对HC-12传输距离进行了简单测试。在此做下使用记录。 模块概述 模块工作原理 注: 如上面图所示,HC-12 模块用于代替半双工通信时的物理连线。左边的设备向模块发送串口数据,模块的 RXD 端 口收到串口数据后,自动将数据以无线电波的方式发送到空中。右边的模块能自动接收到,并从 TXD 还原最初左 边设备所发的串口数据。从右到左也是一样的。 模块间只能工作于半双工状态,不能同时收发数据 。 模块可以与单片机连接,可以与电脑连接,这样两个模块就之间也可以进行通讯(单片机与电脑远程通讯)。 模块与电脑、单片机的连接示意图: 模块可与供电系统为3.3V 或者5V 的MCU连接,串口交叉连接即可(模块的 RX接 MCU的 TX、模块的 TX 接MCU的 RX) 注:如需串接电阻保护MCU,请在串口端串接不大于200Ω的电阻即可,建议不加电阻。 无线串口透传 HC-12 模块有四种串口透传模式,用 FU1、FU2、FU3 和 FU4。 默认出厂设置:串口波特率为 9600bps、通信频道为 C001、串口透传模式为 FU3。 HC-12 模块出厂时串口透传模式默认为 FU3。此时,模块工作于全速状态下,空闲工作电流为 16mA 左右。 在此模式下

计算机组成原理常见概念计算

匿名 (未验证) 提交于 2019-12-02 23:43:01
1.GPIO基本特性 GPIO即通用输入输出接口,可以看作是微控制器的控制的I/O引脚。通过这些GPIO引脚,微控制器可以实现和外部设备的通信。 以STM32F407ZG为例,它提供了9组GPIO端口,分别命名为GPIOA,GPIOB,...,GPIOI。 对于每一组GPIO端口,都有16个I/O引脚。例如:对于GPIOF,这16个引脚分别表示为PF0,PF1,... ,PF15。 每个GPIO端口都有4个32位的配置寄存器。(4个寄存器控制16根引脚工作模式)。 例题: 答:(1)PF0~PF7、PC6配置为:推挽输出模式、输出速度为25MHzh、无上拉下拉模式。 (2) 2.总线带宽 总线单位时间内最大的数据传送能力,称为 总线带宽 (bandwidth)或者 吞吐量 。 若数据总线宽度为w(字节),时钟周期为T(秒),则吞吐量最大的可能值为w/T( 字节/秒 ) 例如: ISA总线宽度为2字节,始终频率为10MHz,则其最大吞吐量为多少? 答:2*10MHz=20M( 字节/秒 ) 若ISA总线周期油两个时钟周期组成,则其吞吐量为20/2=10M( 字节/秒 )。两个时钟周期才送一拍数据。 3.波特率 波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率的指标,用于衡量单片机或计算机在 串口通信 时的速率。 简单理解就是单位时间内传送的二进制信号数。 例: