代码拉取完成,页面将自动刷新
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//系统现有串口显示
QStringList serialName;
foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
{
serialName << info.portName() + " ( " + info.description() + " )";
// serialName << info.portName();
}
ui->serialPortBox->addItems(serialName);
//串口操作
serialPort = new QSerialPort(this);
//串口待发送指令初始化
instruct.resize(10);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_serialStartButton_clicked(bool checked)
{
//串口初始化
serialPort->setPortName(ui->serialPortBox->currentText().split(' ')[0]);
serialPort->setBaudRate(QSerialPort::Baud9600);
serialPort->setDataBits(QSerialPort::Data8);
serialPort->setStopBits(QSerialPort::OneStop);
serialPort->setParity(QSerialPort::NoParity);
if(checked == true)
{
if(serialPort->open(QIODevice::ReadWrite) == true)
QMessageBox::information(this, "提示", "串口打开成功");
else
QMessageBox::critical(this, "提示", "串口打开失败");
}
else
{
serialPort->close();
}
}
void Widget::on_pushButton_clicked()
{
//串口发送PWM直流偏移量
instruct.fill(0x00);
instruct[0] = 0x10;
instruct[9] = ui->pwmBox->currentIndex();
serialPort->write(instruct);
//串口发送直流
instruct.fill(0x00);
switch(ui->waveBox->currentIndex())
{
//直流
case(0):
instruct[0] = 0x20;
instruct[8] = (ui->voltagelineEdit->text().toFloat())/8*4096/256-1;
instruct[9] = (int)((ui->voltagelineEdit->text().toFloat())/8*4096)%256-1;
break;
case(1): break;
case(2): break;
case(3): break;
case(4): break;
}
serialPort->write(instruct);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。