S5PV210-UART-笔记整理

Universal Asynchronous Receiver and Transmitter----通用异步收发器。


奇偶校验:

奇校验:信息码之后再加上一个1,信息码中的1的个数加上后面1个1的个数之后如果是奇数那么数据就是准确的。

偶校验:跟奇校验相反。


使用C实验一段数据的CRC校验:

#include <stdio.h>
//计算二进制位数
int bit_len(unsigned int n)
{
	int len;
	for(len=0;n;len++)
		n>>=1;
	return len;
}
//生成校验码;a为源码左移动R位之后的码,b为除数
int crc(int a,int b)
{
	int temp;
	int res;
	temp=a>>(bit_len(a)-4);
	res=temp^b;
	//printf("res=%#x\n",res);
	a=(res<<(bit_len(a)-4))|(a&((bit_len(a)-4)<<0));
	//printf("a=%#x\n",a);
	if(bit_len(a)>=(bit_len(0xb)))
	{
		crc(a,b);
	}
	else
	{
		return a;
	}
}

int main(void)
{
	printf("请输入源码:\n");
	int source_code=0;
	scanf("%x",&source_code);
	source_code=(source_code<<3);
	printf("校验码:%#x\n",crc(source_code,0xb));
	printf("发送的数据:%#x\n",source_code|crc(source_code,0xb));
	return 0;
}		


波特率和bps之间的关系:

码元:承载信息量的单位;

比特率(bps)是对传输信息量的度量,波特率是在单位时间内对传输码元符号个数的度量。


UART的数据格式:

空闲的时候位高电平,开始发送数据的时候先是起始位,然后八位数据位一位奇偶校验位,之后是停止位,最后就是空闲高电平。一帧数据总共为十一(起始位加上停止位)位。


UART通信数据线:

三条数据线:RXD,TXD,GND

全双工工作模式、异步通信模式


RS232/RS485RS422的区别:

RS232是全双工,RS485是半双工,RS422是全双工

RS485和RS232在通讯的物理协议上面有区别,RS485是差分传输方式,RS232是单端传输方式。


差分信号的特点:

1、在控制”基准“电压的时候,很容易识别小信号;

2、对外部电磁干扰是高免疫

3、在单电源系统中很好处理”双极“信号

TVS二极管:

吸收电路浪涌电压,保护电路。


S5PV210-UART的特点:

UART0/1/2/3在DMA或者中断的基础上进行操作。

UAER1具有256字节的FIFO,UART1具有64字节的FIFO,UART2/3具有16字节的FIFO


关于UART FIFO:

FIFO先进先出,FIFO只是一个缓冲器用来存放UART接受的数据,避免串口接受一次数据进入中断而导致CPU的利用效率不够高。

但是为了防止接收数据的时候没有达到FIFO指定的字节数而不去进行及时处理的问题还要加上接收数据超时处理的函数。


自动流控AFC:

为的是防止接收端的缓冲区满了之后发送端还在发送数据导致数据丢失的处理方法。


特别注意的是在UART初始化函数之后一定要加上一定的延时为的是让硬件有足够的时间降频或者升频。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值