唯有一个android 串口通信能自己与自己通信吗

2015年8月 VC/MFC大版内专家分月排行榜第三
2017年9月 VC/MFC大版内专家分月排行榜第二2017年8月 VC/MFC大版内专家分月排行榜第二2017年4月 VC/MFC大版内专家分月排行榜第二2017年3月 VC/MFC大版内专家分月排行榜第二2017年2月 VC/MFC大版内专家分月排行榜第二2016年8月 VC/MFC大版内专家分月排行榜第二2016年7月 VC/MFC大版内专家分月排行榜第二2016年6月 VC/MFC大版内专家分月排行榜第二2015年6月 VC/MFC大版内专家分月排行榜第二
2017年10月 VC/MFC大版内专家分月排行榜第三2017年6月 VC/MFC大版内专家分月排行榜第三2017年5月 VC/MFC大版内专家分月排行榜第三2016年9月 VC/MFC大版内专家分月排行榜第三2016年4月 VC/MFC大版内专家分月排行榜第三2015年4月 VC/MFC大版内专家分月排行榜第三2012年8月 VC/MFC大版内专家分月排行榜第三
2012年4月 VC/MFC大版内专家分月排行榜第一
2012年5月 VC/MFC大版内专家分月排行榜第二2012年3月 VC/MFC大版内专家分月排行榜第二2011年7月 VC/MFC大版内专家分月排行榜第二2011年1月 VC/MFC大版内专家分月排行榜第二2010年12月 VC/MFC大版内专家分月排行榜第二2010年9月 VC/MFC大版内专家分月排行榜第二2010年6月 VC/MFC大版内专家分月排行榜第二2010年5月 VC/MFC大版内专家分月排行榜第二2010年4月 VC/MFC大版内专家分月排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。串口通信_百度百科
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
是一种可以将接受来自的数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。
串口通信原理
通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收。尽管比按字节(byte)的慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是、、停止位和。对于两个进行通信的端口,这些参数必须匹配。
a,波特率:这是一个衡量符号传输速率的参数。指的是信号被调制以后在单位时间内的变化,即单位时间内参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。一般调制速率大于波特率,比如曼彻斯特编码)。通常电话线的波特率为1和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
b,:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个使用7位数据。每个包是指一个,包括开始/停止位,数据位和。由于实际数据位取决于的选取,术语“包”指任何通信的情况。[1]
c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
d,奇偶校验位:在通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和的情况,串口会设置校验位(后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。[2]
串口通信结构
串口通信程序框图
串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
是计算机上一种非常通用的设备通信协议。大多数计算机(不包括笔记本电脑)包含两个基于的串口。串口同时也是仪器仪表设备通用的通信协议;很多兼容的设备也带有RS-232口。同时,也可以用于获取远程采集设备的数据。
RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。[2]
.51CTO传媒[引用日期]
.电气自动化技术网.[引用日期]
中国通信学会是全国通信...
提供资源类型:内容一个串口通信的源码
在电子工程世界为您找到如下关于“一个串口通信的源码”的新闻
一个串口通信的源码资料下载
一个串口通信的源码,以2进制形式实现传输,可以传输图像等各种文件。...
采用C++ Builer编的一个串口通信源码,通过虚拟串口在电脑上模拟两个串口并连接,可以很方便的调试和学习串口编程。...
一个串口通信的实例(含源码)ComToCom,我自己写的,很好用的,对这方面感兴趣的朋友可以好好参考以下。...
这是一个将HDLC协议运用到串口通信的程序源码,很有参考价值,感兴趣的朋友可以讨论一下!...
BHT8000数据采集器源码。本程序是串口通信。是一个最通用的程序。...
作为世界上最优秀的操作系统之一,Linux不仅在服务器领域有着不可撼动的地位,而且正在嵌入式领域发挥着越来越重要的作用。有专家预测,Linux将是未来最主要的嵌入式操作系统之一,将广泛应用在各种消费电子和通信设备中。因此,产生并逐渐形成了嵌入式Linux这项技术。然而,面对嵌入式系统多样化的硬件平台以及多样化的应用,如何更快更好地建立基于Linux的软件平台成为一个必须解决的问题。 本文正是针对...
COMM32是一个简单的串口通信控件,提供源码,不存在黑箱。...
年的发展目前也已十分丰富,特别是自由免费软件Linux的出现。Linux凭借源码开放、内核可裁减、功能丰富、运行稳定等优势,被移植到了多种不同结构的CPU和硬件平台上,且得到了大量优秀开发工具软件的支持。 本论文的目的是建立一个以ARM为基础的嵌入式linux系统控制平台.本文详细介绍了整个系统平台的研究开发和设计实现过程。论文首先介绍ARM和嵌入式Linux操作系统的特点和当前的发展概况。再阐述...
一个串口通信的源码相关帖子
/learn?preview=1#lesson/10830
PC上位机需要MATLAB 2012环境支持。
插一下作品完善之前的帖子:http://bbs..cn/thread--1.html
小型无人机实时环境监测作品后续开发总结 程序源码百度网盘链接:链接:[url]/s/1dFCOitV[/url] 密码:eshc...
)。其中,PC端的软件采用VC++编写,涉及的主要关键技术是:多线程下对USB通信芯片CH9326的读写和仿真界面的绘图(绘图特别采用了双缓存算法,实现了画面的非闪烁特效)。而下位机端,即单片机端则较简单,它利用内置的通信端口(SLAVE从模式下的I2C或SPI及Uart串口1接收客户主板发来的显示数据和指令,然后通过Uart串口3转发到USB通信芯片CH9326上,反之亦然。因篇幅有限,请读者后续到立创社区...
了学习嵌入式开发的基础。在嵌入式基本功学习阶段,最重要的是C语言和单片机基础,最好是能用C语言开发一个小的单片机程序,例如用C语言实现单片机和PC的串口通信,用C语言控制LED等显示,用C语言控制数码管显示等小程序。在这个期间需要的学习工具就是单片机51学习开发板。
二、嵌入式Linux应用开发
嵌入式开发基础知识学习完后,这时候你已经有了一定的嵌入式开发基础了,可以进行基于单片机的嵌入式系统设计...
,基本上已经具备了学习嵌入式开发的基础。在嵌入式基本功学习阶段,最重要的是C语言和单片机基础,最好是能用C语言开发一个小的单片机程序,例如用C语言实现单片机和PC的串口通信,用C语言控制LED等显示,用C语言控制数码管显示等小程序。在这个期间需要的学习工具就是单片机51学习开发板。二、嵌入式Linux应用开发 嵌入式开发基础知识学习完后,这时候你已经有了一定的嵌入式开发基础了,可以进行基于单片机...
流进行解码,这样才能得到该RIFD的ID号码。硬件上,STM8单片机通过中断的方式,对EM4095输出的SIN信号进行同步解码。软件解码,这部分是该系统的关键部分,因篇幅有限,下面仅列出关键部分的代码,全部的源码工程文件,请到立创社区BBS里进行下载。Main主函数里先定义一个256字节的数组,用于临时保存EM4095输出的二进制流。u8fdataTT_Buffer[256];设置stm8s...
1.4.ARM裸机第四部分-GPIO和LED
1.5.ARM裸机第五部分-SDRAM和重定位relocate
1.6.ARM裸机第六部分-时钟系统
1.7.ARM裸机第七部分-串口通信详解
1.8.ARM裸机第八部分-按键和CPU的中断系统
1.9.ARM裸机第九部分-定时器、看门狗和RTC
1.10.ARM裸机第十部...
、工程源码请参阅立创社区。 6、现场实验图和视频
有需要看视频的可以到立创社区自己查看。7、总结通过以上相关实验介绍,特别是视频方面的功能演示,相信大家对IrDA有了一定的了解。相比一般的无线电传输(蓝牙、WIFI、2.4G nRF24系列等等),红外传输具有无电磁干扰、通信距离短但安全性高、使用简单的特点,STM8或者STM32一般都集成了IrDA的硬件支持单元,操作IrDA就像操作串口一样简单...
;& & 这里只提供KW411Z开发板上的驱动程序,配套的APP提供安装包下载,还有就是主机和从机里两个STM8小系统的驱动程序比较简单,就实现一两个I/O的输入和输出,以及跟无线模块的串口通信而尔,这里也不作说明了,我相信大家需要的随便都可以弄个出来咯。KW41Z开发板驱动源码:基于MCUXpressoIDE_10.0.0_344开发的工程文件;配套开发的APP(基于android...
如题,我的项目需要使用到串口,总是调试不成功,然后,我看了原理图,FRDM-KW41Z只有1个串口,这个串口连接到Arduino接口的uart了,此外还连接到了板载调试器openSDA,不知道是不是这样有干扰导致无法使用串口和其它的串口模块通信了。
FRDM-KW41Z串口不正常 管脚功能映射修改一下,PTC2/PTC3 也有UART0功能;PTC17/PTC18也有
的,自己接触这方面时间不是很长,所以能力有限,时间来不及智能调试成这个地步了。后期将会继续研究研究。话说得对java和android的各种控件和服务得有一个清晰的认识。。。该app实现了OTG连接PL2302转串口的功能。话说官方已经取消了pl2303老版本芯片的支持。。官方开源源码也没有,智能自己写了。app界面如图:
& && &下位机软件方面,对蓝牙...
一个串口通信的源码视频
你可能感兴趣的标签
热门资源推荐21ic官方微信-->
后使用快捷导航没有帐号?
请完成以下验证码
查看: 2007|回复: 9
485串口通信不正常,我只使用485和232一样一对一通信可以吗?
&&未结帖(20)
主题帖子积分
中级技术员, 积分 207, 距离下一级还需 93 积分
中级技术员, 积分 207, 距离下一级还需 93 积分
主题帖子积分
专家等级:结帖率:16%打赏:0.00受赏:35.00
主题帖子积分
中级技术员, 积分 207, 距离下一级还需 93 积分
中级技术员, 积分 207, 距离下一级还需 93 积分
485串口通信不正常,我只使用485和232一样一对一通信可以吗?
我485通信总是出不对参数,接收6个字节正常,接收8个接不正常
帮我看看通信错在那?
#define F_CPU UL
#include &avr/io.h&
#include &avr/delay.h&
#include &util/twi.h&
#include &avr/interrupt.h&& &//中断函数头文件
#define& & & & INT8U& & & & volatile unsigned char
#define& & & & INT16U& & & & volatile unsigned int
#define fosc
//内存//时钟
#define IIC_FM
#define IIC_clock& &0xd0
/****************时间数组******************/
volatile unsigned char gettime[8]={0};
volatile unsigned char Uart_R_Taqb[8],Uart_Tx_Taqb[8];
volatile unsigned char ztai,i='h';
volatile unsigned char flag=0,
volatile unsigned int z1=0,z2=0,z3=0,z4=0,z5=0,z6=0,z7=0,z8=0,z9=0,z10=0;
#define R_USART1_OUT&&PORTE |= (1&&PE2);& & & & & & & & & & & & & & & & & & & & & & & & & & & & //PD1口输出信号为高,单片机处于发送状态
#define R_USART1_IN& & & && &PORTE &= ~(1&&PE2);& & & & & & & & & & & & & & & & & & & & & & & & //PD1口输出信号为低,单片机处于接收状态
//sbit i,a;PORTE&=~(1&&PE2);
void delayms(INT16U xms)
INT16U i,j;
for(i=i&0;i--)
& &for(j=8800;j&0;j--);
void put()& && & //IO口配置初始化
DDRA&&= 0XFF;& &//配置输出
PORTA = 0XFF;
DDRB |= _BV(PB5)|_BV(PB6)|_BV(PB7);&&//配置PB5.6.7脚位输出
DDRB &= ~(_BV(PB0)|_BV(PB1)|_BV(PB2)|_BV(PB3)|_BV(PB4));//配置PB0 1 2 3 4脚位输入
PORTB |= 0XE0;
DDRC&&= 0XFF;& &//配置输出&&
PORTC = 0XFF;
DDRD&&|=_BV(PD2)|_BV(PD3)|_BV(PD4)|_BV(PD5)|_BV(PD6)|_BV(PD7) ;//配置PD2 3 4 5 6 7脚位输出
PORTD |= 0XFC;
DDRE &= ~(_BV(PE3)|_BV(PE4)|_BV(PE5)|_BV(PE6)|_BV(PE7));//配置PE3 4 5 6 7脚位输入
DDRE |= _BV(PE2);
PORTE|= 0x00;
DDRF&&|= _BV(PF0)|_BV(PF1)|_BV(PF2)|_BV(PF3);& & //配置PF0 1 2 3脚位输入
PORTF |= 0x0F;& && && && && && && && && && & //高电平
DDRG& &|=_BV(PG0)|_BV(PG1)|_BV(PG2)|_BV(PG3)|_BV(PG4);
PORTG&&|=0X1F;
void uart_init(INT16U baud)& &//串口波特率带参数初始化
UCSR0C=0x06;& && && & //异步模式,禁止奇偶校验,停止位为1位,数据位为8位
a=fosc/16/baud-1;& &&&//波特率计算
UBRR0L=a%256;& && && &//
UBRR0H=a/256;& && && &//
UCSR0B=0x98;& && && & //配置串口方式
void uart_send(INT16U data)
&&R_USART1_OUT;& && && && && && && &//设置串口为输出状态&&1
&&_delay_us(2);& && && && && && && &//延时5ms
&&while( !(UCSR0A & (1&&UDRE)));& & & & // 等待数据寄存器空
&&UDR0=& && && && && && && && &//将所要发送的数据存入UDR寄存器
&&_delay_us(2);& && && && && && && &//延时5ms
&&R_USART1_IN;& && && && && && && & //默认为输入状态& &0
void SendTab(volatile unsigned char *pTabl)
&&for(i=0;i&8;i++)
&&uart_send(*pTabl++);//发送1字节数据
uint8_t getc(void)
& & R_USART1_IN;& && && && && && && &&&//0
& & _delay_us(2);& && && && && && && &//延时5ms
& & & & while( !(UCSR0A & (1&&RXC)));& & & & & & & & & & & & // 等待接收到标记
& & & & return UDR0;
//& & & & _delay_ms(5);
/*************************************/
int main()
uart_init(9600); //串口初始化
sei();& && && &&&//中断
put();& && && &&&//口配置
eeprom_init();& &//TWI初始化
R_USART1_IN
if(flag==1)
Uart_R_Taqb[0]=0x01;Uart_R_Taqb[1]=0x02;Uart_R_Taqb[2]=0x03;Uart_R_Taqb[3]=0x04;
&&SendTab(Uart_R_Taqb);_delay_ms(2000);
ISR(USART0_RX_vect)
PORTF^=(1&&PF1);
for(i=0;i&8;i++)
Uart_R_Taqb[i]=rdata=getc();//
主题帖子积分
中级技术员, 积分 207, 距离下一级还需 93 积分
中级技术员, 积分 207, 距离下一级还需 93 积分
主题帖子积分
专家等级:结帖率:16%打赏:0.00受赏:35.00
主题帖子积分
中级技术员, 积分 207, 距离下一级还需 93 积分
中级技术员, 积分 207, 距离下一级还需 93 积分
我使用的是avr studio编译器
主题帖子积分
中级技术员, 积分 102, 距离下一级还需 198 积分
中级技术员, 积分 102, 距离下一级还需 198 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 102, 距离下一级还需 198 积分
中级技术员, 积分 102, 距离下一级还需 198 积分
完全看不懂
主题帖子积分
高级技术员, 积分 808, 距离下一级还需 192 积分
高级技术员, 积分 808, 距离下一级还需 192 积分
主题帖子积分
专家等级:结帖率:91%
主题帖子积分
高级技术员, 积分 808, 距离下一级还需 192 积分
高级技术员, 积分 808, 距离下一级还需 192 积分
你去找一个MODBUS的开源例程看看吧,教科书的东西不适合实际应用。
主题帖子积分
初级工程师, 积分 2500, 距离下一级还需 500 积分
初级工程师, 积分 2500, 距离下一级还需 500 积分
主题帖子积分
专家等级:结帖率:95%
主题帖子积分
初级工程师, 积分 2500, 距离下一级还需 500 积分
初级工程师, 积分 2500, 距离下一级还需 500 积分
接收中断这样处理能出得来?
主题帖子积分
中级技术员, 积分 207, 距离下一级还需 93 积分
中级技术员, 积分 207, 距离下一级还需 93 积分
主题帖子积分
专家等级:结帖率:16%打赏:0.00受赏:35.00
主题帖子积分
中级技术员, 积分 207, 距离下一级还需 93 积分
中级技术员, 积分 207, 距离下一级还需 93 积分
luofeng2g 发表于
接收中断这样处理能出得来?
我接收完8个字节就可以出来了
主题帖子积分
中级技术员, 积分 207, 距离下一级还需 93 积分
中级技术员, 积分 207, 距离下一级还需 93 积分
主题帖子积分
专家等级:结帖率:16%打赏:0.00受赏:35.00
主题帖子积分
中级技术员, 积分 207, 距离下一级还需 93 积分
中级技术员, 积分 207, 距离下一级还需 93 积分
luofeng2g 发表于
接收中断这样处理能出得来?
我板子上是max487csa芯片485,外接一个485转换器
主题帖子积分
初级工程师, 积分 2500, 距离下一级还需 500 积分
初级工程师, 积分 2500, 距离下一级还需 500 积分
主题帖子积分
专家等级:结帖率:95%
主题帖子积分
初级工程师, 积分 2500, 距离下一级还需 500 积分
初级工程师, 积分 2500, 距离下一级还需 500 积分
xu0801hua 发表于
我接收完8个字节就可以出来了
什么条件进中断? 是不是接收到一个字节就进中断了? 那怎么能读到8个字节?
主题帖子积分
中级工程师, 积分 4710, 距离下一级还需 290 积分
中级工程师, 积分 4710, 距离下一级还需 290 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 4710, 距离下一级还需 290 积分
中级工程师, 积分 4710, 距离下一级还需 290 积分
用了中断接收,又用查询,还循环,说明你完全没有理解串口通信
主题帖子积分
高级工程师, 积分 7600, 距离下一级还需 400 积分
高级工程师, 积分 7600, 距离下一级还需 400 积分
主题帖子积分
专家等级:结帖率:56%打赏:0.00受赏:15.00
主题帖子积分
高级工程师, 积分 7600, 距离下一级还需 400 积分
高级工程师, 积分 7600, 距离下一级还需 400 积分
freemodbus下自带的AVR例子,楼主移植下就可以用了
本人熟悉STM32、PIC、AVR等嵌入式软件开发;联系方式:.
技术新星奖章
人才类勋章
时间类勋章
技术高手奖章
人才类勋章
涓涓之细流
发帖类勋章
技术奇才奖章
人才类勋章
时间类勋章
欢快之小溪
发帖类勋章
社区建设奖章
等级类勋章
突出贡献奖章
等级类勋章
沉静之湖泊
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
技术导师奖章
人才类勋章
时间类勋章
热门推荐 /2

我要回帖

更多关于 串口通信协议 的文章

 

随机推荐