Astro VG876图像信号发生器控制软件

news/2024/11/24 1:34:22/

using System;
using System.Windows.Forms;

namespace VG876控制软件
{
    public partial class Form_VG876 : Form
    {
        public Form_VG876()
        {
            InitializeComponent();
        }

        private void Form_VG876_Load(object sender, EventArgs e)
        {
            foreach (string com in System.IO.Ports.SerialPort.GetPortNames()) //自动获取串行口名称
            {
                cmb_serialPort.Items.Add(com);
            }
            try { cmb_serialPort.Text = config_json.VG876_PortName; } catch { }
            this.serialPort_VG876.BaudRate = 38400;
        }
        class config_json
        {
            //VG876
            public static string VG876_PortName = "COM3"; //
            public static byte[] pattern_white = { 0x02, 0xfd, 0x24, 0x20, 0x31, 0x31, 0x32, 0x31, 0x2c, 0x32, 0x03 };
            public static byte[] pattern_red = { 0x02, 0xfd, 0x24, 0x20, 0x31, 0x31, 0x32, 0x32, 0x2c, 0x32, 0x03 };
            public static byte[] pattern_green = { 0x02, 0xfd, 0x24, 0x20, 0x31, 0x31, 0x32, 0x33, 0x2c, 0x32, 0x03 };
            public static byte[] pattern_blue = { 0x02, 0xfd, 0x24, 0x20, 0x31, 0x31, 0x32, 0x34, 0x2c, 0x32, 0x03 };
            public static byte[] pattern_black = { 0x02, 0xfd, 0x24, 0x20, 0x31, 0x31, 0x32, 0x35, 0x2c, 0x32, 0x03 };
            public static byte[] pattern_50gray = { 0x02, 0xfd, 0x24, 0x20, 0x31, 0x31, 0x32, 0x36, 0x2c, 0x32, 0x03 };
        }
        private void btn_open_Click(object sender, EventArgs e)
        {
            if (serialPort_VG876.IsOpen == false)
            {
                tb_memo.Text += "端口已打开成功!";
                serialPort_VG876.Open();
                btn_open.Enabled = false;
            }
            else
            { tb_memo.Text += "端口已打开或被占用!"; }
        }

        private void btn_close_Click(object sender, EventArgs e)
        {
            if (serialPort_VG876.IsOpen) {
                serialPort_VG876.Close();
                tb_memo.Text = "端口关闭成功!";
                btn_open.Enabled = true;
            }
        }

        private void btn_white_Click(object sender, EventArgs e)
        {
            if (serialPort_VG876.IsOpen == false) serialPort_VG876.Open();
            try { serialPort_VG876.Write(config_json.pattern_white, 0, config_json.pattern_white.Length); } catch { }
        }

        private void btn_red_Click(object sender, EventArgs e)
        {
            if (serialPort_VG876.IsOpen == false) serialPort_VG876.Open();
            try
            {
                serialPort_VG876.Write(config_json.pattern_red, 0, config_json.pattern_white.Length);
            }
            catch { }
        }

        private void btn_green_Click(object sender, EventArgs e)
        {
            if (serialPort_VG876.IsOpen == false) serialPort_VG876.Open();
            try
            {
                serialPort_VG876.Write(config_json.pattern_green, 0, config_json.pattern_white.Length);
            }
            catch { }
        }

        private void btn_blue_Click(object sender, EventArgs e)
        {
            if (serialPort_VG876.IsOpen == false) serialPort_VG876.Open();
            try
            {
                serialPort_VG876.Write(config_json.pattern_blue, 0, config_json.pattern_white.Length);
            }
            catch { }
        }

        private void brn_black_Click(object sender, EventArgs e)
        {
            if (serialPort_VG876.IsOpen == false) serialPort_VG876.Open();
            try
            {
                serialPort_VG876.Write(config_json.pattern_black, 0, config_json.pattern_white.Length);
            }
            catch { }
        }

        private void btn_50gray_Click(object sender, EventArgs e)
        {
            if (serialPort_VG876.IsOpen == false) serialPort_VG876.Open();
            try
            {
                serialPort_VG876.Write(config_json.pattern_50gray, 0, config_json.pattern_white.Length);
            }
            catch { }
        }

        private void Form_VG876_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (serialPort_VG876.IsOpen == false) serialPort_VG876.Open();
            try
            {
                if (serialPort_VG876.IsOpen) serialPort_VG876.Close();
            }
            catch { }
        }
    }
}
 


http://www.ppmy.cn/news/537790.html

相关文章

876计算机大纲,876水力学考大纲.doc

876水力学考大纲 2013年硕士研究生入学考试大纲 考试科目名称:水力学 考试科目代码:[876] 考试要求: 要求考生全面系统地掌握本学科专业基础知识和专业业务综合知识,并且能运用所学的基本理论和实验技能,说明和解决实践…

循坏队列CircularQueue

前言 一、CircularQueue 二、特点 三、设计思路 1)判空与判满 2)链表还是数组实现? 四、实现 1).IsEmpty() 2).IsFull() 3)CircularQueueCreate创建 4)CircularQueueEnQueue插入 5)CircularQueueDeQueue删除 6&#xf…

使用Python读取Abaqus ODB,生成相关输出并将其写入文件的工具

在许多领域,例如工程和科学研究中,有时我们需要对ABAQUS的输出数据库(ODB)文件进行解析,并根据需要生成一些自定义的输出结果。为此,我们需要使用Python的ABAQUS ODB接口。在这篇文章中,我们将详…

第六十三回:Wrap Widget

文章目录 概念介绍使用方法示例代码经验总结 我们在上一章回中介绍了Chip Widget相关的内容,本章回中将介绍如何使用 Wrap Widget.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在本文中将要介绍的Wrap Widget是一种布局类组件,类似C…

WCDMA相关参数

https://wenku.baidu.com/view/457a41ddc9d376eeaeaad1f34693daef5ef7133e.html https://max.book118.com/html/2017/0212/90650733.shtm

wcdma码片速率_WCDMA中的码片速率,符号速率,信息速率(bit rate)之间的关系

很久前我写过码元(码片)速率和信息速率的关系.这里在WCDMA中对应一下它们之间的关系,从网上抄了一段: 比特(Bit),符号(Symbol) ,码片(Chip)矩阵通信技术论坛--3G论坛| NGN论坛 | IP论坛 |考试认证 | 通信论坛 | 通信技术论坛 | 通…

wcdma下行如何解扩解扰 matlab,WCDMA技术基础.ppt

WCDMA技术基础 京 信 通 信 系 统 WCDMA技术基础 摘要 移动通信基本概念 直接序列扩频 扰码和同步 信道结构、小区搜索 无线链路的建立和切换 发射功率控制 空中接口测量基础 移动通信基本概念 ITU:International Telecommunication Union IMT-2000:Inte…

3G WCDMA RNC介绍

UTRAN体系结构 无线网络控制器(RNC):RNS控制物理无线资源的网元设备,实现WCDMA空中接口层层2层3和无线资源管理功能 无线基站NodeB实现一个或几个小区无线信号的发送和接收,即实现WCDMA空红接口层1_物理层功能 UTRAM中的基本概念 Controlling RNC 每一…