コード例 #1
0
ファイル: Form1.cs プロジェクト: rtksm/SmileCam
        /****************************************************************************/

        /*!
         *	@brief	[接続]/[切断]ボタンを押したときにシリアルポートのオープン/クローズを行う.
         *
         *	@param	[in]	sender	イベントの送信元のオブジェクト.
         *	@param	[in]	e		イベント情報.
         *
         *	@retval	なし.
         */
        private void connectButton_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen == true)
            {
                //! シリアルポートをクローズする.
                serialPort1.Close();

                //! ボタンの表示を[切断]から[接続]に変える.
                connectButton.Text = "接続";
            }
            else
            {
                //! オープンするシリアルポートをコンボボックスから取り出す.
                serialPort1.PortName = cmbPortName.SelectedItem.ToString();

                //! ボーレートをコンボボックスから取り出す.
                BuadRateItem baud = (BuadRateItem)cmbBaudRate.SelectedItem;
                serialPort1.BaudRate = baud.BAUDRATE;

                //! データビットをセットする. (データビット = 8ビット)
                serialPort1.DataBits = 8;

                //! パリティビットをセットする. (パリティビット = なし)
                serialPort1.Parity = Parity.None;

                //! ストップビットをセットする. (ストップビット = 1ビット)
                serialPort1.StopBits = StopBits.One;

                //! フロー制御をコンボボックスから取り出す.
                HandShakeItem ctrl = (HandShakeItem)cmbHandShake.SelectedItem;
                serialPort1.Handshake = ctrl.HANDSHAKE;

                //! 文字コードをセットする.
                serialPort1.Encoding = Encoding.Unicode;

                //! 読み込みタイムアウト時間をセットする.
                //serialPort1.ReadTimeout = 10000;

                try
                {
                    //! シリアルポートをオープンする.
                    serialPort1.Open();

                    //! ボタンの表示を[接続]から[切断]に変える.
                    connectButton.Text = "切断";
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
コード例 #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen == true)
            {
                //! シリアルポートをクローズする.
                serialPort1.Close();

                //! ボタンの表示を[切断]から[接続]に変える.
                button1.Text = "接続";
            }
            else
            {
                //! オープンするシリアルポートをコンボボックスから取り出す.
                serialPort1.PortName = comboBox1.SelectedItem.ToString();

                //! ボーレートをコンボボックスから取り出す.
                BuadRateItem baud = (BuadRateItem)comboBox2.SelectedItem;
                serialPort1.BaudRate = baud.BAUDRATE;

                //! データビットをセットする.
                serialPort1.DataBits = int.Parse(textBox4.Text);

                //! パリティビットをセットする. (パリティビット = なし)
                serialPort1.Parity = Parity.None;

                //! ストップビットをセットする. (ストップビット = 1ビット)
                serialPort1.StopBits = StopBits.One;

                //! フロー制御をコンボボックスから取り出す.
                HandShakeItem ctrl = (HandShakeItem)comboBox3.SelectedItem;
                serialPort1.Handshake = ctrl.HANDSHAKE;

                //! 文字コードをセットする.
                serialPort1.Encoding = Encoding.ASCII;

                try
                {
                    //! シリアルポートをオープンする.
                    serialPort1.Open();

                    //! ボタンの表示を[接続]から[切断]に変える.
                    button1.Text = "切断";
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
コード例 #3
0
        public Form1()
        {
            InitializeComponent();
            textBox4.Text = "7";

            //! 利用可能なシリアルポート名の配列を取得する.
            string[] PortList = SerialPort.GetPortNames();

            comboBox1.Items.Clear();
            button1.Text = "接続";
            button2.Text = "送信";
            button3.Text = "コード書き込み";

            //! シリアルポート名をコンボボックスにセットする.
            foreach (string PortName in PortList)
            {
                comboBox1.Items.Add(PortName);
            }
            if (comboBox1.Items.Count > 0)
            {
                comboBox1.SelectedIndex = 0;
            }

            comboBox2.Items.Clear();

            // ボーレート選択コンボボックスに選択項目をセットする.
            BuadRateItem baud;

            baud          = new BuadRateItem();
            baud.NAME     = "4800bps";
            baud.BAUDRATE = 4800;
            comboBox2.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "9600bps";
            baud.BAUDRATE = 9600;
            comboBox2.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "19200bps";
            baud.BAUDRATE = 19200;
            comboBox2.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "115200bps";
            baud.BAUDRATE = 115200;
            comboBox2.Items.Add(baud);
            comboBox2.SelectedIndex = 1;

            comboBox3.Items.Clear();

            // フロー制御選択コンボボックスに選択項目をセットする.
            HandShakeItem ctrl;

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "なし";
            ctrl.HANDSHAKE = Handshake.None;
            comboBox3.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "XON/XOFF制御";
            ctrl.HANDSHAKE = Handshake.XOnXOff;
            comboBox3.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "RTS/CTS制御";
            ctrl.HANDSHAKE = Handshake.RequestToSend;
            comboBox3.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "XON/XOFF + RTS/CTS制御";
            ctrl.HANDSHAKE = Handshake.RequestToSendXOnXOff;
            comboBox3.Items.Add(ctrl);
            comboBox3.SelectedIndex = 0;

            // 送受信用のテキストボックスをクリアする.
            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: rtksm/SmileCam
        /****************************************************************************/

        /*!
         *	@brief	ダイアログの初期処理.
         *
         *	@param	[in]	sender	イベントの送信元のオブジェクト.
         *	@param	[in]	e		イベント情報.
         *
         *	@retval	なし.
         */
        private void Form1_Load(object sender, EventArgs e)
        {
            //! 利用可能なシリアルポート名の配列を取得する.
            string[] PortList = SerialPort.GetPortNames();

            cmbPortName.Items.Clear();

            //! シリアルポート名をコンボボックスにセットする.
            foreach (string PortName in PortList)
            {
                cmbPortName.Items.Add(PortName);
            }
            if (cmbPortName.Items.Count > 0)
            {
                cmbPortName.SelectedIndex = 0;
            }

            cmbBaudRate.Items.Clear();

            // ボーレート選択コンボボックスに選択項目をセットする.
            BuadRateItem baud;

            baud          = new BuadRateItem();
            baud.NAME     = "4800bps";
            baud.BAUDRATE = 4800;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "9600bps";
            baud.BAUDRATE = 9600;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "38400bps";
            baud.BAUDRATE = 38400;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "115200bps";
            baud.BAUDRATE = 115200;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "230400bps";
            baud.BAUDRATE = 115200;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "460800bps";
            baud.BAUDRATE = 115200;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "921600bps";
            baud.BAUDRATE = 115200;
            cmbBaudRate.Items.Add(baud);
            cmbBaudRate.SelectedIndex = cmbBaudRate.Items.Count - 1;

            cmbHandShake.Items.Clear();

            // フロー制御選択コンボボックスに選択項目をセットする.
            HandShakeItem ctrl;

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "なし";
            ctrl.HANDSHAKE = Handshake.None;
            cmbHandShake.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "XON/XOFF制御";
            ctrl.HANDSHAKE = Handshake.XOnXOff;
            cmbHandShake.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "RTS/CTS制御";
            ctrl.HANDSHAKE = Handshake.RequestToSend;
            cmbHandShake.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "XON/XOFF + RTS/CTS制御";
            ctrl.HANDSHAKE = Handshake.RequestToSendXOnXOff;
            cmbHandShake.Items.Add(ctrl);
            cmbHandShake.SelectedIndex = 0;

            // 送受信用のテキストボックスをクリアする.
            rcvTextBox.Clear();
        }