串口通讯怎样设置1位其始位?

pc200300 2003-12-09 05:51:55
加精
过去没有遇到,谢谢了!
...全文
234 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
crzman37 2003-12-10
  • 打赏
  • 举报
回复
一般默认的起始位就是1位吧。就是加上高电平的起始位
hCom = CreateFile(CommPort.c_str(),
GENERIC_READ | GENERIC_WRITE,
0, //必须以opened w/exclusive-access
NULL, //无安全属性
OPEN_EXISTING, //必须用OPEN_EXISTING
FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //重叠I/O
NULL //对通信设备必须是NULL
);
if (hCom == INVALID_HANDLE_VALUE) {
// dwError = GetLastError();
MessageBox(NULL,"打开通信设备文件失败!","错误",MB_OK);
return false;
}

SetupComm(hCom,4096,4096); // 设置输入,输出缓冲区皆为4096字节

fSuccess = GetCommState(hCom, &dcb);
if (!fSuccess) {
MessageBox(NULL,"获取通信设备控制块数据结构操作异常!","错误",MB_OK);

return false;
}

// 填充DCB: baud=9600, 8 data bits, no parity, 1 stop bit.

dcb.BaudRate = BaudRateP;
dcb.ByteSize = ByteSizeP;
dcb.Parity = ParityP;
dcb.StopBits = StopBitsP;
dcb.fDtrControl = DTR_CONTROL_ENABLE;

dcb.fInX = TRUE; //允许输入(接收)Xon/Xoff流量控制
dcb.fOutX = TRUE; //允许输出(发送)Xon/Xoff流量控制
dcb.XonLim = BLOCK_LENGTH/4; //接收时发出Xon时的门限值
dcb.XoffLim = BLOCK_LENGTH/4;//接收时发出Xoff时的门限值

//用改变后的控制(配置)块数据结构设置串行口
fSuccess = SetCommState(hCom, &dcb);
if (!fSuccess) {
MessageBox(NULL,"设置通信设备控制块数据结构操作异常!","错误",MB_OK);
return false;
}

CommTimeOuts.ReadIntervalTimeout = 0xFFFFFFFF;
CommTimeOuts.ReadTotalTimeoutMultiplier = 0;
CommTimeOuts.ReadTotalTimeoutConstant = 0;
CommTimeOuts.WriteTotalTimeoutMultiplier = 0;
CommTimeOuts.WriteTotalTimeoutConstant = 5000;

SetCommTimeouts(hCom, &CommTimeOuts);
if(!SetCommMask(hCom, EV_RXCHAR))
{
MessageBox(NULL,"设置通信设备超时数据结构操作异常!","错误",MB_OK);
return false;
}

memset(&osRead, 0, sizeof(OVERLAPPED));
memset(&osWrite, 0, sizeof(OVERLAPPED));
osRead.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
osWrite.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);

BufferOffset=0;
LineBytes=0;
return true;

}

iSee视频监控 v5.2 视频监控软件使用说明书 版权所有 翻录必究 2009年10月1日 Ver:01.01.05 注意事项 首先,感谢您选用我公司最新产品。 在使用本监控卡之前,请详细阅读本说明书所涉及的相关事项,熟悉 硬件、软件各部分的功能后,方能使用,以确保该系统为您发挥最佳功能。 否则一切后果自负。 本说明书将向您详细阐述全实时“视频监控系统”的安装、操作、设 置和网络使用方法。 本系统工作主机供电电压为220V_10%,如果在电压不稳或者干扰大 的场合,请您选用优质稳压电源(即UPS),保证系统正常良好的工作状态。 本系统在安装、拆卸视频采集卡时,必须将主机处于完全断电状态, 否则主板上残留的电压将损坏采集卡。 本系统可切换D1与CIF分辨率,切换分辨率设置后,在主界面必须关 闭通道视频,重新打开通道视频,设置才能生效。 本系统主机工作于常温(-10_3℃~55_2℃)、清洁的环境,并且保持 良好的通风状态。 本系统软件属于我公司专有产品,未经同意,请勿复制,否则影响机 器稳定概不负责,并将通过有关法律渠道追究盗版责任。 功能特点(H.264压缩) 压缩方式:H.264/MPEG 4; 显示分辨率:1024_768、1280_1024、16:9宽屏、16:10宽屏; 预览分辨率 (可调) :704_576(PAL制),740_480(NTSC制); 352_288(PAL制),370_240(NTSC制); 录像分辨率(所见即所得):704_576(PAL制), 740_480(NTSC制); 352_288(PAL制),370_240(NTSC制); 单机容量支持12路D1、48路CIF; 支持单画面、4画面、9画面、16画面、20画面、25画面显示,可全屏显示,支持自动 翻页; 多画面实时显示/录像/回放功能,支持多协议云镜控制,支持多种报警盒实现联动报警; 手动录像、连续录像、定时录像、动态录像、事件录像、联动报警录像等多种录像方式; 可以设置每个通道的显示名称; NTSC/PAL两种视频显示制式可选, 25帧/秒实时预览、录像、回放; 视频图像属性调节功能,使图像更清晰。 视频录像图像质量有多种等级可调,以改变存储文件大小,方便不同场合应用。 视频移动报警录像功能,报警录像灵敏度、预录像时间、延迟录像时间可调,支持声音 报警输出。 智能检索,可按摄像镜头年/月/日/时间段或长时间连续检索回放,自动检索报警录像, 能区分录像事件。 具有局部放大功能,可逐帧回放,快速播放,慢速播放,常规播放。 回放时可进行图片抓拍功能,回放时文件备份功能、文件剪辑功能。 可进行远程监控,远程控制云镜、色彩、手动录像、布撤防、重启计算机等控制工作。 支持现今最大容量的硬盘,并支持安装多个大容量的硬盘。 硬盘管理可以通过对最大使用硬盘和硬盘最小预留空间的设置使硬盘能够得到充分合理 的使用。 自动创建日志文件(用户操作日志、系统日志、远程控制日志),便于查询操作记录。 系统可任意设置定时关机,定时重启功能,保证系统运行的高稳定性。 可设定开机自动运行监控软件,断电自动关闭程序,来电自动重启,自动恢复录像。 硬件、软件经过严格的拷机试验,稳定可靠。 系统硬件配置要求低,48路同时录像显示时,CPU的占用率低于75%。 系统能有效防止用户多次重复运行监控系统导致系统崩溃的情况。 目录 第一部分 软件安装与卸载..............................................................................................................6 1.1 系统要求 ..................................................................................................................................................6 1.1.1 硬件要求(推荐) ................................................................................
目 录 第一章 系统概要 1 1.1 系统背景 1 第二章 系统硬件设计 1 2.1 系统原理图 1 2.2 单片机(MCU)模块 2 2.2.1 MC9S08AW60单片机性能概述 2 2.2.2 内部结构简图 3 2.3 串行通信模块 4 2.3.1 MAX232引脚图 4 2.3.2 串行通信的电路原理 5 2.4 液晶显示模块 6 第三章 系统软件设计 7 3.1 MCU方(C)程序 7 3.1.1串行通信子程序 14 3.1.2 LCD子程序 17 第四章 系统测试 20 第五章 总结展望 23 5.1 总结 23 5.2 展望 24 第六章 参考文献 24 第一章 系统概要 1.1 系统背景 设计了一个基于AW60的数字时钟,它可以避免多种控制器的混淆,利用一个控制器对时 钟的时间进行控制。它可以任意设置时间。为人们的生产与生活提供了方便。单片机( MCU)的基本定义是:在一块芯片上集成了中央处理器(CPU)、存储器(RAM/ROM等)、 定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。单片机自1976 年由Intel公司推出MCS- 48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功 耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面 ,几乎"无处不在,无所不为"。单片机的应用领域已从面向工业控制、通讯、交通、智 能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等 广大领域。 1.2 系统功能 在实验箱上有一个启动键,当按下启动键给以一个低电平,电子时钟从当前设定值开 始走时。按秒刷新,要求在LCD屏上显示。若按启动键给以高电平,则时间暂停,再按, 时间继续按秒刷新。 由于要用LCD显示当前的时间,必须用到分字和合字,因此在MCU中使用了8个数据空 间分别存储了当前时间的时十位、时个位、分十位、分个位、秒十位和秒个位,方便显 示。 第二章 系统硬件设计 2.1 系统原理图 该系统由AW60最小系统电路为主要结构,利用串口进行数据的控制与采集。首先将开 关接在AW60上的PORT_D口上,用于控制数字时钟系统的开关。然后将LCD的数据线7- 14引脚(D0-D7)分别与MCU的PTA0- PTA7连接,LCD的控制线RS、R/W、E(4、5、6引脚)分别于MCU的PTC4、PTC6、PTF6连接, 用于输出时间。数字时钟必须要有晶振电路,所以将该晶振电路与AW60的PTG5和PTG6相 连,用于时间的自加。由于在运行系统时,以防电流不稳定,所以在PTB0端设置一个下 拉电阻,稳定电流。 2.2 单片机(MCU)模块 2.2.1 MC9S08AW60单片机性能概述 (1)最高达40MHz的CPU工作频率和20Hz的内部总线工作频率表;时钟源选项包括晶振、 谐振器、外部时钟或内部产生的时钟。 (2)相比HC08 CPU指令集,S08 CPU增加了BGND指令。 (3)单线后台调试模式接口;增强的断点能力,允许单一的断点设置在线调试(在片内 调试的模块增加了多于两个的断点)。 (4)内含32个中断/复位源;内含2KB的片内RAM;内含60KB的片内在线可编程Flash存储 器,带有块保护和安全选项。 (5)可选的计算机正常操作(COP)复位;低电压检测和复位或中断;非法操作码检测 与复位;非法地址检测与复位。 (6)ADC:多达16个通道,10位A/D转换器与自动比较功能;两个串行通信接口SCI模块 与可选的13位中断;一个串行外设接口SPI模块;集成电路互连总线I2C模块运作高达10 0kbps的最高总线负载;8引脚键盘中断KBI模块。 (7)Timers:1个2通道和1个6通道16位定时器/脉冲宽度调制器模板。具有输入、捕捉、 输出比较、脉宽调制功能。 2.2.2 内部结构简图 1. 内部结构简图 如图所示,给出了AW60的内部结构图,它对于我们理解和应用AW60 MCU有重要作用,在学习了基本有法后,应在反过来熟悉这个内部结构图,以便更好地理 解AW60 MCU的基本原理。从内部结构图可以看出,AW60主要有以下几个部分:S08 CPU、存储器、定时器接口模块、定时器模块、看门狗模块、通用IO模块、串口通信模块 (SCI)、串行外设接口(SPI)模块、I2C(IIC)模块、A/D转换模块、键盘中断模块、 时钟发生模块、复位与中断模块等。 2.3 串行通信模块 2.3.1 MAX232引脚图 在MCU中,若用RS- 232总线进行串行通信,则需外接电路实现电平转换。在发送端,需要用驱动电路将TTL 电平转换成RS-232电平;在接受端,需要用接收电路将RS- 232电平。转化为TTL电平。电平转换器不仅可以由晶振管分

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧