首页 > 其他分享 >串口通信

串口通信

时间:2025-01-20 15:43:10浏览次数:1  
标签:Pasted image 通信 串口 byte void png

[[Pasted image 20250120124904.png]]
也就是通过USB等接口对单片机实现通信
简单双向串口通信有两根通信线(发送端TXD和接收端RXD)
电平标准不一致时,需要电平转换芯片
且TXD与RXD要交叉连接
![[Pasted image 20250120125636.png]]

电平标准

其实就是用不同的电压表示1与0
![[Pasted image 20250120125907.png]]

串口定义

![[Pasted image 20250120130510.png]]

  • DSR:用于数据流控制
    ![[Pasted image 20250120131309.png]]
    ![[Pasted image 20250120131705.png]]

波特率计算

1/计数器溢出值 / 16 = 波特率(MHz)
![[Pasted image 20250120150138.png]]

STC89C52RC串口通信

#include "DELAY.h"
#include <REGX52.H>
#include "UART.h"

unsigned char byte;

/**
	发送数据
*/
void UartRoutine(void) interrupt 4
{
	P2 = ~SBUF;
	if(RI == 1)
	{
		UartSendByte(SBUF);
		RI = 0;
	}
}

void main()
{
	UartInit();
	byte = 0x51;
	while(1)
	{
		UartSendByte(byte);
		Delay(500);
	}
}
#include <REGX52.H>

void UartInit(void)		//4800bps@11.0592MHz
{
	PCON &= 0x7F;		//波特率不倍速
	SCON = 0x50;		//8位数据,可变波特率
	TMOD &= 0x0F;		//清除定时器1模式位
	TMOD |= 0x20;		//设定定时器1为8位自动重装方式
	TL1 = 0xFA;		//设定定时初值
	TH1 = 0xFA;		//设定定时器重装值
	ET1 = 0;		//禁止定时器1中断
	TR1 = 1;		//启动定时器1
	EA = 1;
	ES = 1;
}

void UartSendByte(unsigned char byte)
{
	SBUF = byte;
	while(TI == 0);		// 检测是否发送完成
	TI = 0;
}


在发送数据时调用中断,是为了防止发送的同时接收造成混乱

标签:Pasted,image,通信,串口,byte,void,png
From: https://www.cnblogs.com/surime/p/18681587

相关文章

  • 主框架如何与iframe通信?如何解决跨域?
    主框架与iframe之间的通信以及跨域问题的解决在前端开发中是一个常见的需求。以下是一些方法和步骤来实现这一目标:一、主框架与iframe通信使用postMessage方法:主框架向iframe发送消息:可以通过获取iframe的contentWindow对象,并调用其postMessage方法来发送消息。例如:iframe.c......
  • 记录STM32串口通信调试的若干问题(基于HAL库)(一)硬件选型和编程环境配置
    由于遇人不淑,项目经验坑爹(永远不要指望学校和导师),本电子类科班生硬是被整成了四不像工程师,不得不自学来找到对口的工作。本文记录STM32开发的历程,有一样的初学者可以参考借鉴。一.硬件设施1.STM32F103C8T6最小系统系统板采用stm32f103c8t6最小系统板,某宝某猫上一杯奶茶的钱......
  • Cyber_RT-数据通信三层结构源码-Component-Node-transport
    数据通信三个层次1.Component是封装好的数据处理流程2.NodeReader/Writer或Service/Client3.Transport创建Transmitter或ReceiverComponentComponent是封装好的数据处理流程Dag文件是模块拓扑关系的配置文件Launch文件提供了一种启动模块的......
  • WIFI连接与通信
    ESP32-S3支持 2.4GHz 的Wi-Fi4(802.11n)标准,提供高达150Mbps的数据传输速率。它支持 STA(Station)模式、AP(AccessPoint)模式和 Wi-Fi直连(Wi-FiDirect)模式,可以灵活地连接到其他设备或创建自身的网络。ESP32-S3还支持硬件加速的Wi-Fi加密算法,包括WPA/WPA2-PSK和WP......
  • WIFI连接与通信
    ''不要等待运气降临,应该去努力掌握知识'' —— 弗莱明ESP32-S3支持2.4GHz的Wi-Fi4(802.11n)标准,提供高达150Mbps的数据传输速率。它支持STA(Station)模式、AP(AccessPoint)模式和Wi-Fi直连(Wi-FiDirect)模式,可以灵活地连接到其他设备或创建自身的网络。ESP32-S3......
  • 树莓派串口通信开发记录
    树莓派开发记录:开发系统及代码编辑软件安装1.通过安装软件RasperryPiImager实现系统镜像流程化烧写进SD卡2.在VScode官网选择相对应的基于树莓派ARM64或32架构的版本,下载相应的deb文件:sudodpkg-iDesktop/code_1.60.2-1632316275_armhf.deb(替换为自己的路径)3.在命......
  • (原创)[开源][.Net Standard 2.0] SimpleMMF (进程间通信框架)更新 v1.1,极低CPU占用
    一、前言在上一篇(原创)[.Net]进程间通信框架(基于共享内存)——SimpleMMF中,发布了v1.0版,最大的问题是:CPU占用较高,至少40-50%。这既与我的开发水平有关,也与SimpleMMF诞生环境有关,这个主要是用在数字孪生各软件之间同步数据,而部署软件的工作站性能都强悍,像我常用的便是一个有着19......
  • 【Linux探索学习】第二十六弹——进程通信:深入理解Linux中的进程通信
    Linux探索学习:https://blog.csdn.net/2301_80220607/category_12805278.html?spm=1001.2014.3001.5482前言:在Linux操作系统中,进程通信(IPC)是操作系统的一项核心功能,用于在不同进程之间交换数据或信号。这种能力在多任务操作系统中尤为重要,因为进程之间通常需要协作完成复杂......
  • 操作系统进程-进程间通信的概述、匿名管道pipe和有名管道mkfifo函数的介绍及应用
    进程间通信(IPC)概述进程间通信(InterProcessCommunication)是指在两个或多个不同的进程间传递或者交换信息。进程是一个独立的资源管理单元,不同的进程之间资源是独立的,不能在一个进程中直接访问另一个进程的资源,但是进程间不是孤立的,也需要一些信息的交互和状态传递,所以就......
  • 【STM32-学习笔记-7-】USART串口通信
    文章目录USART串口通信Ⅰ、硬件电路Ⅱ、常见的电平标准Ⅲ、串口参数及时序Ⅳ、STM32的USART简介数据帧起始位侦测数据采样波特率发生器Ⅴ、USART函数介绍Ⅵ、USART_InitTypeDef结构体参数1、USART_BaudRate2、USART_WordLength3、USART_StopBits4、USART_Parity5、USART......