m_comm_unit.SetInputMode(1);//设置输入方式为二进制方式
m_comm_unit.SetSettings("1200,n,8,1");//设置数据波特率等参数
m_comm_unit.SetRThreshold(1);//为1表示有一个字符引发一个事件
m_comm_unit.SetInputLen(0);//每次都是读出缓冲区全部数据
m_comm_unit.GetInput();//清空接收缓冲区
send_data_func(0x11);///握手
send_data_func(file_number);///发送文件数
if(receive_data_func(0x33)==0){
m_dis_message="下载失败!";//表示下载失败
UpdateData(FALSE);
MessageBox("可能通信端口设置不对或者通信线路有问题!");
return;}
else{
m_dis_message="下载完成";//表示下载完成
UpdateData(FALSE);}
if(receive_data_func(0x11)==0){
MessageBox("传送发生错误,请重新发送");
return;}
由于欲显示信息在软件控制系统编辑完成,并提取字模保存单屏文件,显示信息是通过串口通讯传输的,文件可以以单屏的形式分次传输,但如果增加多屏文件合并保存一次传输,可以简化传输步骤,提高传输成功率。
以下对文件合并保存算法设计:
系统采用合并保存字模信息与添加效果功能在相同对话框内实现,在上节介绍的显示效果算法基础上添加如下设置实现
m_listCtrl.InsertColumn(0,"单屏文件名",LVCFMT_LEFT,100);
显示显示方式列:
m_listCtrl.InsertColumn(1,"显示方式",LVCFMT_LEFT,100);
显示显示时间列:
m_listCtrl.InsertColumn(2,"显示时间",LVCFMT_LEFT,100);
设置列表控件扩展样式为整行高亮:
m_listCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);
if(index==26)//这个地方待定,主要看下位机的存储量{
AfxMessageBox("超过文件列表极限,不能再增加文件!");
return;}
本章小结
本章完成了LED显示屏软件控制系统的整体设计,确定了系统工作流程,完成了系统软件控制功能。系统的工作流程:在计算机显示屏上开启文本窗口(大小可根据具体对应大屏的象素点数,调整系统参数实现),在工具栏选择具体工具完成文字、图形的编辑,并采用图像处理算法完成信息的优化及显示效果的处理,并实现预览功能。在完成整体编辑、设计后应用系统设计的字模信息保存方法实现文本信息的保存。根据具体设备通讯要求,采用串口通讯技术,通过介绍端口通讯以及串口通讯协议的相关知识,实现控制系统与硬件设备部分的通讯,完成实现LED显示屏的文本信息传输功能。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>