- 286
- 0
- 约1.94万字
- 约 48页
- 2017-05-07 发布于山西
- 举报
嵌入式实验四:串口传输实验
实 验 报 告
课程名称 嵌入式系统设计
实验仪器 清华同方辰源嵌入式系统实验箱
实验名称 实验四:串口传输实验
系 别 计算机学院
专 业 计算机科学与技术
班级/学号
学生姓名
实验日期
成 绩
指导教师
实验四:串口传输实验
实验问题回答
本实验引入了Send和Receive两个变量表示上传或下传数据,用状态机怎么实现?
答:switch(oledkey[0])
{
case F:
state=1;
//Receive = 1;
//Send = 0;
break;
case E:
state=2;
//Send = 1;
//Receive = 0;
break;
switch(state)
{
case 0:
break;
case 1:
recive();
break;
case 2:
send();
break;
了解串口通讯原理。
答:串口按位(bit)发送和接收字节,串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。
1、51系列单片机的串口有4个模式,可分别用作串并转换、并串转换、异步串行通信(2种模式)。异步串行通信中,有1+8+1和1+8+1+1两种帧格式,多机通信是特殊的通信方式。
2、基本原理是两组移位寄存器。将并行通信转换成串行通信模式(发送部分),或反之(接收部分)。可全双工运行。
3、速度通过移位脉冲决定。具体一般通过定时器1的自动装载模式产生的溢出脉冲给出。
4、电平上采用的是CMOS逻辑。
5、以上是物理层和数据链路层的单片机串口模块的约定,其他层需要软件人员根据需要自行把握。另外,电平需要根据实际通信环境做变换,如232、485或红外等。
(3)了解在上位机(PC端)端,C程序中如何调用串口?
答:#include?Windows.h
#include?stdio.h
HANDLE?hCom;
int?main(void)
{
hCom=CreateFile(TEXT(COM3),//COM1口
GENERIC_READ|GENERIC_WRITE,?//允许读和写
0,?//独占方式
NULL,
OPEN_EXISTING,?//打开而不是创建
0,?//同步方式
NULL);
if(hCom==(HANDLE)-1)
{
printf(打开COM失败!\n);
return?FALSE;
}
else
{
printf(COM打开成功!\n);
}
SetupComm(hCom,1024,1024);?//输入缓冲区和输出缓冲区的大小都是1024
COMMTIMEOUTS?TimeOuts;
//设定读超时
TimeOuts.ReadIntervalTimeout=1000;
TimeOuts.ReadTotalTimeoutMultiplier=500;
TimeOuts.ReadTotalTimeoutConstant=5000;
//设定写超时
TimeOuts.WriteTotalTimeoutMultiplier=500;
TimeOuts.WriteTotalTimeoutConstant=2000;
SetCommTimeouts(hCom,TimeOuts);?//设置超时
DCB?dcb;
GetCommState(hCom,dcb);
dcb.BaudRate=9600;?//波特率为9600
dcb.ByteSize=8;?//每个字节有8位
dcb.Parity=NOPARITY;?//无奇偶校验位
dcb.StopBits=ONE5STOPBITS;?//两个停止位
SetCommState(hCom,dcb);
DWORD?wCount;//读取的字节数
BOOL?bReadStat;
while(
您可能关注的文档
最近下载
- 2026年养老产业行业创新报告.docx
- C正谱怜悯我吧上帝 pieta signore.pdf VIP
- 《专业工程管理与实务》.pdf VIP
- 中国血栓性疾病防治指南(2025版).docx VIP
- 施工质量日志-.xls VIP
- 2025年国家公务员全国总工会面试题及答案.docx VIP
- 合肥市普通高中六校联盟2025-2026学年高三第一次语文教学质量监测+答案.docx VIP
- 局部晚期食管癌患者新辅助免疫治疗与常规新辅助治疗的比较:系统评价和meta分析.pdf
- 2025以骑手为代表的新就业群体研究报告:职业技能与跑单时长对收入的共同作用.pdf VIP
- 年产一亿片别嘌呤醇的车间工艺设计.doc VIP
原创力文档

文档评论(0)