精华内容
下载资源
问答
  • 打算使用python+pyqt5做一个上位机界面,实现与嵌入式系统实现CAN通信的控制与反馈。 后续会逐渐更新学习过程,用来自己学习的记录。 书买了两本: 1.Python QT GUI与数据可视化编程 2.Python GUI设计 PyQT5从入门...

    打算使用python+pyqt5做一个上位机界面,实现与嵌入式系统实现CAN通信的控制与反馈。
    后续会逐渐更新学习过程,用来做自己学习的记录。
    书买了两本:
    1.Python QT GUI与数据可视化编程
    2.Python GUI设计 PyQT5从入门到实践

    对于类这一块的概念不是很清楚,学习时间预计比较长,慢慢来

    展开全文
  • 如何用C#做一个上位机软件,能进行二次编程?![图片说明](https://img-ask.csdn.net/upload/202002/15/1581752492_205243.png) 如图所示,能实现 if else,jump,while等这些逻辑,添加到列表上怎样去转换并执行...
  • 开源一个串口上位机源码

    万次阅读 多人点赞 2018-05-29 14:18:21
    是杰杰之前一个参赛小作品其实在这个恒温控制系统项目的时候,师弟就问我,什么是上位机。。。。。可能很多师弟师妹都没一个大概的概念。现在,就来看下什么是上位机: 上位机是指可以直接发出操控命令的...

    是杰杰之前做的
    一个参赛小作品

    其实在做这个恒温控制系统项目的时候,师弟就问我,什么是上位机。。。。。可能很多师弟师妹都没一个大概的概念。

    现在,就来看下什么是上位机:

         上位机是指可以直接发出操控命令的计算机,一般是PC/host computer/master computer/upper computer,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机single chip microcomputer/slave computer/lower computer之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。简言之如此,实际情况千差万别,但万变不离其宗:上下位机都需要编程,都有专门的开发系统。

    在概念上,控制者和提供服务者是上位机,被控制者和被服务者是下位机,也可以理解为主机和从机的关系,但上位机和下位机是可以转换的。


    工作原理

        两机如何通讯,一般取决于下位机,TCP/IP一般是支持的,但是下位机一般具有更可靠的独有通讯协议。通常上位机和下位机通讯可以采用不同通讯协议,可以有RS232的串口通讯或者采用RS485串行通讯。采用封装好的程序开发工具就可以实现下位机和上位机的通讯,当然可以自己编写驱动类的接口协议控制上位机和下位机的通讯。

    通常工控机,工作站,触摸屏作为上位机,通信控制PLC,单片机等作为下位机,从而控制相关设备元件和驱动装置。


    既然差不多知道什么是上位机与下位机,那么,我们做到小喇叭的要求:就得写个上位机,我自己也是学了下C#,用来开发上位机还是可以的,开发环境用visual studio 2015,微软的软件真的是很简单,之前看到有人问为什么微软的软件是最多人用的,答:因为那是傻瓜式操作。。。。。我不得不认同。。。  


    回归正题:先看看我们的上位机有什么功能:

    1)能够实现与下位机的正常通讯。这必须得有,不然算哪门子上位机啊。

    2)能够控制我们的恒温系统,通过电脑控制恒温系统的温度。这种应用场景很正常,我在机房就能控制我某一个地方的温度,简单方便。

    3)能够实时显示温度与波形。这种应用的场景也是非常常见,实时显示温度我们可以知道温度是否正常,而波形我们能快速看出恒温系统空间温度是否出现异常。

    4)数据保存功能,自动将实时的温度保存下来,加入 日期与时间,方便以后排查问题的时候用于检测某段时间的温度是否正常,这也是很使用的功能。


          说了那么多,看看我们的上位机。由于我以前用的别人的上位机都是色调比较单一的,而我,又是那种比较活泼开朗的人,觉得单一的灰色调比较死沉,我不喜欢,当然那是别人做的上位机,即使再不喜欢,要用还是要用,没办法,

    现在我自己做的就不一样了,得给他做个五颜六色出来。亮瞎眼。。。。。

    当我们的温度达到目标温度的时候,下位机就会控制自己的温度,以保持温度恒定,同时在上位机显示看到温度为一条曲线,由于我设置的温度为整数,没有小数,但是我们通过下位机可以看到实时的温度,精确在0.4范围左右。

    4.jpg

    当我们把上位机与下位机通讯协议切断,可以看到上位机接受不到数据(在软件右下角粉红色的窗口,没有显示接收到的数据),上位机的波形就会回到默认值(0°),就是上图的样子

    5.jpg

    6.jpg

    当我们需要后期的检测与排除故障的时候,我们可以从我们保存的温度来做简单的排查,上位机自动保存的温度数据,精确到某天某时某分某秒,简单方便。也是一个很实用的功能当没什么故障的时候,我们只需要隔一段时间吧数据清一下就OK了。


    附上作品视频:http://v.youku.com/v_show/id_XMzE0Nzg0ODUzMg==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2

    本次上位机介绍到此结束


    源码文件会可以关注公众号获得。

    或者在我CSDN下载连接:https://download.csdn.net/download/jiejiemcu/10444798 点击打开链接


    本上位机仅为杰杰个人娱乐,不做商业用途。源码改自开发快-小白哥的上位机

    如需转载请说明出处。

    欢迎关注“创客飞梦空间”

    干货不间断

    在未来的日子里

    创客飞梦空间与你们同在,放飞我们的梦想





    展开全文
  • 一个android上位机,适合新手学习一下关于android开发
  • 手把手教你编写一个上位机

    千次阅读 2021-04-26 00:17:15
    关注+星标公众号,不错过精彩内容转自|嵌入式大杂烩嵌入式开发,基本都会用到有一些上位机工具,比如串口助手就是最常用的工具之。那么,今天分享有篇由ZhengN整理的用Qt写的简单上位...

    关注+星标公众,不错过精彩内容

    转自 | 嵌入式大杂烩

    嵌入式开发,基本都会用到有一些上位机工具,比如串口助手就是最常用的工具之一。

    那么,今天分享有一篇由ZhengN整理的用Qt写的简单上位机教程。

    一、前言

    大家好,我是ZhengN,本次来教大家编写一个基于QT的简单的上位机。

    学习一个新的东西我们都从最基础地实例开始,比如学习C语言我们会从编写一个hello程序开始、学习嵌入式我们从点灯开始。

    同样的,我们也从编写一个简单的基于QT的上位机来体会体会上位机开发及认识认识QT。

    我们本次实现的上位机的功能很简单:上位机通过串口来控制开发板上的一个LED的亮灭。界面如:

    演示视频:

    二、QT环境搭建

    在开始编写上位机之前我们先来一起搭建一下QT开发环境(不然就不是手把手了,哈哈)。往期推文 QT | 详解Qt的几种开发方式 中有介绍到QT的两种开发环境:

    • 使用VS + QT

    • 使用Qt Creator

    这里我们选择直接使用QT_Creator的方式。

    Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。

    Qt Creator可带来两大关键益处:

    • 提供首个专为支持跨平台开发而设计的集成开发环境 (IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。

    • 即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的IDE。

    下面我们来一起安装Qt Creator。

    1、注册qt账号

    我们需要先注册一个QT账号,后面安装Qt Creator的时候会用到。注册账号的地址为:

    https://www.qt.io/zh-cn/

    2、下载QT_Creator并安装

    我们在Windows上进行开发,安装Windows版本的Qt Creator。下载地址:

    https://download.qt.io/new_archive/qt/5.11/5.11.3/

    下载得到qt-opensource-windows-x86-5.11.3.exe。然后双击安装,第二步需要输入账号密码,把我们上面注册好的账号密码填入即可。

    接下来还需要选择安装组件,根据自己需要进行选择安装,我安装的组件如:

    安装完成之后我们桌面上并没有Qt Creator的快捷方式,需要自己创建。找到Qt Creator的安装路径,然后把Qt Creator发送到桌面快捷方式即可。如:

    3、验证QT_Creator是否安装成功

    我们创建一个简单的C++工程来验证一下Qt Creator是否安装成功。

    Qt Creator搭建好之后我们接下来开始编写我们的上位机。

    三、编写一个简单的上位机

    编写这个简单的上位机我们需要经过一下几个步骤:

    • 上位机界面设计。

    • 上位机逻辑代码编写。

    • 添加上位机图标。

    • 上位机程序的打包。

    • 上位机测试验证。

    1、新建一个serial_led工程

    这里需要注意的一点是:工程名及工程路径不要有中文字符

    另外,QT中有三种基类,这里我们选择QWidget类。QT的三个基类如:

    • QMainWindow类:提供一个带有菜单条,工具条和一个状态条的主应用程序窗口。

    • QWidget类:所有用户界面对象的基类,窗口部件是用户界面的一个基本单元,它从窗口系统接收鼠标,键盘和其他消息,并在屏幕上绘制自己。

    • QDialog类:对话框窗口的基类,对话框窗口主要用于短期任务和用户进行短期通讯的顶级窗口,QDialog可以是模态对话框或者是非模态对话框。

    我们创建的工程如:

    其中,项目文件.pro文件是用来告诉qmake关于为这个应用程序创建makefile所需要的细节。例如,一个源文件和头文件的列表、任何应用程序特定配置。例如,一个必需链接的额外库或者一个额外的包含路径、都应该放到项目文件中。

    2、上位机界面设计

    Qt 一个可视化的界面设计工具:Qt 设计器(Qt Designer)。我们双击.ui文件就可以进入Qt Designer,在Qt Designer中我们可以通过拖动控件的方式来设计我们的界面,整个界面如:

    我们从左侧的控件区把我们需要的控件拖动到界面编辑区中,我们这个简单地上位机用到的控件如:

    这里需要注意的是波特率这个下拉框需要双击设置一些备选配置,如:

    大家可以在左边地控件区找到这三种控件拖动到界面编辑器进行修改、布局即可。

    其中,布局可通过如下组件调整:

    这几个组件的功能如:

    具体地用法大家可以自己去实操一下。

    另外,我们需要给我们使用的控件重新命名,在右侧的对象管理区进行操作。命名为有意义的名字,因为后面编写代码会用到。有意义的名字利于编写易懂的代码。比如我们修改的名字如:

    最后,控件的属性可根据需要在属性区进行调整。

    3、上位机逻辑代码编写

    (1)添加串口库、包含串口相关头文件

    serial_led.pro文件添加串口库:

    QT += core gui serialport
    

    widget.h文件包含串口头文件:

    #include <QSerialPort>
    #include <QSerialPortInfo>
    

    • QSerialPort 类提供了操作串口的各种接口。

    • QSerialPortInfo 是一个辅助类,可以提供计算机中可用串口的各种信息。

    (2)添加QSerialPort成员

    在widget.h的Widget类中添加一个QSerialPort成员:

    (3)创建串口对象、搜索所有可用串口

    在Widget构造函数中创建一个串口对象并搜索所有可用串口:

    Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        QStringList serialNamePort;
    
        ui->setupUi(this);
        this->setWindowTitle("serial_led");
    
        /* 创建一个串口对象 */
        serialPort = new QSerialPort(this);
    
        /* 搜索所有可用串口 */
        foreach (const QSerialPortInfo &inf0, QSerialPortInfo::availablePorts()) {
            serialNamePort<<inf0.portName();
        }
        ui->serialBox->addItems(serialNamePort);
    }
    

    (4)编写“打开串口”槽函数

    信号和槽是用于对象之间的通信,它是Qt的核心机制。

    当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。如果有对象对这个信号感兴趣,想要处理的信号和自己的一个函数(称为槽(slot))绑定来处理这个信号。也就是说,当信号发出时,被连接的槽函数会自动被回调。

    这里,我们点击打开串口按钮会发出clicked信号,此时对应槽函数on_openButton_clicked会被调用。下面我们来实现这个槽函数:

    void Widget::on_openButton_clicked()
    {
        /* 串口设置 */
        serialPort->setPortName(ui->serialBox->currentText());
        serialPort->setBaudRate(ui->baudrateBox->currentText().toInt());
        serialPort->setDataBits(QSerialPort::Data8);
        serialPort->setStopBits(QSerialPort::OneStop);
        serialPort->setParity(QSerialPort::NoParity);
    
        /* 打开串口提示框 */
        if (true == serialPort->open(QIODevice::ReadWrite))
        {
            QMessageBox::information(this, "提示", "串口打开成功");
        }
        else
        {
            QMessageBox::critical(this, "提示", "串口打开失败");
        }
    }
    

    这里我们写死数据位、停止位、求校验位;增加提示框。其中使用QMessageBox需要包含如下头文件:

    #include <QMessageBox>
    

    (5)编写“关闭串口”、“点灯”、“灭灯”槽函数

    按照上面打开串口槽函数的方法编写关闭串口点灯灭灯槽函数:

    void Widget::on_closeButton_clicked()
    {
        serialPort->close();
    }
    
    void Widget::on_onButton_clicked()
    {
        serialPort->write("ON\n");
        qDebug("ON\n");
    }
    
    void Widget::on_offButton_clicked()
    {
        serialPort->write("OFF\n");
        qDebug("OFF\n");
    }
    

    以上就是上位机逻辑代码的编写。

    4、添加上位机图标

    在网上找一个相关的.ico后缀的图标下载放到我们的工程路径下,如:

    图标下载网址如:

    • https://www.iconfont.cn/

    • https://www.iconfont.cn/

    然后在我们的serial_led.pro文件中添加如下一行代码:

    RC_ICONS = led.ico
    

    5、上位机程序打包

    我们上面运行的上位机都是在Qt Creator中编译运行的,如果我们需要把编写好的可执行文件发送给别人使用的话还需要进行打包。

    上面我们的工程是Debug版本的:

    打包之前,我们先把工程修改为Release版本

    然后在我们工程目录下得到:

    此时,双击release文件夹下的serial_led.exe文件是会报错的,报错原因是找不到一些相关的动态库:

    我们新建一个文件夹保存我们的打包文件,如:

    把build-serial_led-Desktop_Qt_5_11_1_MinGW_32bit-Release\release路径下的serial_led.exe文件拷贝至serial_led_packet文件夹中:

    打开QT for Disktop工具:

    执行如下命令进入打包目录:

    cd /d D:\Qt\qt_prj\serial_led\serial_led_packet
    

    然后执行如下命令进行打包:

    windeployqt serial_led.exe
    

    此时,serial_led_packet文件夹中的serial_led.exe文件就可以双击运行了:

    此时就完成了程序的打包。此时我们把这一整个文件夹压缩发送给别人使用了。另外,我们也可以借助一些工具把这些文件打包成一个整体的.exe文件,这里不再介绍。

    6、上位机测试验证

    上位机我们写好了,接下来编写下位机代码来测试一下。

    我们点击上位机的点灯灭灯按钮,则会通过串口分别发送ON\nOFF\n,我们编写下位机代码进行接收,然后操控LED灯即可。

    下位机是小熊派IOT开发板,测试代码如:

    int main(void)
    {
      /* USER CODE BEGIN 1 */
     
      /* USER CODE END 1 */
    
      /* MCU Configuration----------------------------------------------------------*/
    
      /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
      HAL_Init();
    
      /* USER CODE BEGIN Init */
    
      /* USER CODE END Init */
    
      /* Configure the system clock */
      SystemClock_Config();
    
      /* USER CODE BEGIN SysInit */
    
      /* USER CODE END SysInit */
    
      /* Initialize all configured peripherals */
      MX_GPIO_Init();
      MX_DMA_Init();
      MX_USART1_UART_Init();
      /* USER CODE BEGIN 2 */
      printf("Welcome to UART1 test!\r\n");
    
      /* USER CODE END 2 */
    
      /* Infinite loop */
      /* USER CODE BEGIN WHILE */
      while (1)
      {
    
      /* USER CODE END WHILE */
    
      /* USER CODE BEGIN 3 */ 
      if(HAL_UART_Receive(&huart1, &Rdata, 1, 0)==HAL_OK)
      {
          if (usart_rx_buf_index > USART1_RX_BUF_LEN - 1)
          {
            usart_rx_buf_index = 0;
          }
          
          if (Rdata == 0x0A)
          {
            if (strcmp((char*)USART1_RX_BUF, "ON") == 0)
            {
              HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
            }
            else if (strcmp((char*)USART1_RX_BUF, "OFF") == 0)
            {
              HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
            }
            usart_rx_buf_index = 0;
            memset(USART1_RX_BUF, 0, USART1_RX_BUF_LEN);
          }
          else
          {
            USART1_RX_BUF[usart_rx_buf_index++] = Rdata;
          }
      }
      }
      /* USER CODE END 3 */
    
    }
    

    演示如文章开头所见。

    四、总结

    以上就是手把手教你编写一个简单的点灯上位机的内容,虽然实现的功能很简单,但是QT上位机开发的步骤基本就是这些步骤,通过这个基础实例把这些套路摸透我们就可以接着进行后续更多QT程序地开发学习了。

    ------------ END ------------

    推荐阅读:

    嵌入式专栏精选教程

    精选汇总 | STM32、单片机

    精选汇总 | RTOS、操作系统

    迎关注我的公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

    欢迎关注我的视频号:

    点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

    展开全文
  • 我用的是别的公司的一个控制卡,硬件和下位机这些都是做好的,通讯协议已经建立好了,比如我发送字符AAA,他回复给我实时的电流值xxx;我发送BBB,他回复给我实时的电压值yyy。 现在我想自己个简单的上位机程序,...
  • 如题,我通过第三方串口类能不能实现呢?还是说需要用到libmodbus或者modbus类(这类Qt4有没有?)
  • 想用VC++做一个上位机软件,通过计算机串口采集数据,在软件上显示,同时将数据存入网络上一个数据库。 关于计算机与串口连接自己可以实现,现在不知道怎么接入网络。网站数据库自己来建,然后访问。 想问以下问题...
  • 做一个最简单的上位机

    千次阅读 2018-12-24 09:27:03
    \ \我安装的是QT5.8,QTcreater 4.1.0。由于在官网下载比较麻烦,所以可以再这个镜像网站上下到适合自己版本的QT。 ...然后先制作一个最简单可以查看接收数据的上位机 http://blog.csdn.net/...

    \

    \我安装的是QT5.8,QTcreater 4.1.0。由于在官网下载比较麻烦,所以可以再这个镜像网站上下到适合自己版本的QT。

    http://mirror.bit.edu.cn/qtproject/archive/qt/5.1/5.1.0/。

    可能用到的软件1.串口调试助手 2虚拟串口。

     

    然后先制作一个最简单可以查看接收数据的上位机

    http://blog.csdn.net/u014695839/article/details/50611549  我参考了这个博主做的过程。

    几个可以参考的帖子

    https://blog.csdn.net/lovebird_27/article/details/49515881

    https://blog.csdn.net/wamani/article/details/52849043

    串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

    在低版本QT中是没有QSerialPort的串口类的,制作上位机会复杂许多。QT5是自带QSerialPort这个类的,但是在使用时,我们需要在.Pro文件中添加一行才可以使用。在之后Debug过程中如果会再报错的话,再添加到.pro文件中

    QT+= core gui//使用GUI界面
    QT+= serialport//使用自带串口类

     

    打开界面文件下的.ui文件可以对我们上位机的界面进行编辑

    从左侧工具栏中选择要用的工具拖到

    添加textEdit 作为数据接收显示框,combobox作为串口选择框 pushubutton作为打开串口按钮,这样最基本的界面就完成了!

      

    双击combox对串口进行编辑,右键点击 open port 按钮 转到槽,可以对单击按钮后的事件进行编辑。

    接下来就是函数部分

    在QT中我们用到了哪个函数需要在.h文件开始处声明,自定义函数以及自定义变量 都需要在头文件.h文件中事先声明,在这里声明的变量为全局变量。

    首先在文件开始处添加   

    
     
    
     
    #include <QtSerialPort/QSerialPort>
    #include <QtSerialPort/QSerialPortInfo>

     

    QSerialPort:提供访问串口的功能 

    QSerialPortInfo:提供系统中存在的串口的信息

     

    1.设置串口

    对串口设置如下

    
     
    void weite::on_openportbutton_clicked()
    {   if(ui->portnamebox->isEnabled())
        {
            ui->openportbutton->setText("ClosePort");		//按下“OpenPort”后,按键显示为“ClosePort”
            ui->portnamebox->setDisabled(true);	//按下“OpenPort”后,禁止再修改COM口
            serial1.setPortName(ui->portnamebox->currentText());	//设置COM口
            serial1.setBaudRate(QSerialPort::Baud115200,QSerialPort::AllDirections);//设置波特率和读写方向
            serial1.open(QIODevice::ReadWrite);
          //  connect(&serial1,SIGNAL(readyRead()),this,SLOT(read_com()));	//把串口的readyRead()信号绑定到read_Com()这个槽函数上
    
        }
        else
        {
            ui->openportbutton->setText("OpenPort");		//按下“ClosePort”后,按键显示为“OpenPort”
            ui->portnamebox->setEnabled(true);		//按下“ClosePort”后,COM口可被修改
            serial1.close();					//关串口
        }
    }

    2.接收数据

    当串口收到数据并且接收完毕后,会发出一个readyRead()的信号,因此只需要编写一个槽函数read_com(),设置信号槽,并在槽函数中使用readAll()把收到的数据读到requestData中。

    3.数据显示

    这里我们用了自带的append 函数来显示收到的数据 ,使用toHex()函数来将收到的8位ascii码 转换为16进制字符型显示

    (在使用QT过程中在使用某个函数前,可以上网搜索其功能,QT中也自带帮助功能,按下F1可以查看某个函数功能及示例)

    2和3部分代码如下

     

    void weite::read_com()
    {
        QByteArray requestData;
        requestData= serial1.readAll();
    // qDebug()<<"---hsy--test--showtable---1";
      QString buf ;
    
     
       // requestData.clear();
       ui->textEdit->append(requestData.toHex());
    }

     

    
     

    到这里我们最简单的上位机制作便完成了,可以连接上不需要启动信息的(串口设备)传感器来测试我们上位机效果

    展开全文
  • 倒车雷达部分,在VS2010上用C#设计一个上位机图形软件,https://littlede.blog.csdn.net/article/details/107206042
  • 我的第一个上位机软件

    千次阅读 2020-03-28 10:06:25
    2019年即将过去,这一年最值得开心、高兴的事就是我参与研发的“全自动生化分析仪”终于上市...因为这是我的第一个基于linux的商用上位机软件。虽然以前在windows平台折腾过java、C#、MFC的小上位机,但那些上位机无...
  • 一、前言大家好,我是ZhengN,本次来教大家编写一个基于QT的简单的上位机。学习一个新的东西我们都从最基础地实例开始,比如学习C语言我们会从编写一个hello程序开始、学习嵌入式我们从点...
  • 很实用 发了我很多时间的 目的是基于ds18b20测温
  • 上位机相当于一个软件系统,可以用于接收数据、控制数据。即可以对接收到的数据直接发送操控命令来操作数据。上位机可以接收下位机的信号。下位机是一个控制器,是直接控制设备获取设备状况的计算机。上位机发出的...
  • labview上位机框架,下位机是stm32,单片机服务器,上位机做客户端,通过手柄发送数据,目前只是发送了pwm的高电平持续时间
  • 基于C#上位机

    2018-05-04 15:42:16
    用C#一个简单的串口助手,并且有分析协议的能力。在我学习C#两个礼拜后根据实际项目来一个上位机
  • 简介:设计舵机控制的上位机和运行在舵机控制板中的下位机代码,实现联动控制舵机。 先展示效果: ...3:这里单片机控制板采用块自己设计的arduino板,其他单片机板也可以,主要理解其通信原理。 ...
  • C#做一个简单的进行串口通信的上位机

    万次阅读 多人点赞 2016-05-14 08:46:57
    C#做一个简单的进行串口通信的上位机 乱世中的单纯 发布于 1年前,共有 10 条评论 1、上位机与下位机  上位机相当于一个软件系统,可以用于接收数据、控制数据。即可以对接收到的数据直接发送操控命令来...
  • 用c#开发的一个简单的上位机程序,详细的注释,方便学习使用
  • 在学习中经常遇到上位机的问题,想自己做一个上位机玩玩,先使用Python设计一个简单界面。 目标:利用python语言设计一个简单界面 环境:PyQt5库,pycharm软件,QtDesigner软件 思路:利用QtDesignert软件设计...
  • 自己使用vb的简单串口上位机,仅供交流学习 。
  • 一个串口上位机程序

    千次阅读 2009-01-07 19:48:00
    我们飞思卡尔智能车的比赛已经接近尾声了,23号...这里介绍下在Donald写的一个串口调试程序FSonPC,主要是方便我们查看运行起来的小车的内部参数。 程序的作用是接收来自Freescale MC9SDG128单片机发送来的数据,并
  • C#上位机开发()—— 了解上位机

    万次阅读 多人点赞 2018-06-02 16:07:00
    在单片机项目开发中,上位机也是一个很重要的部分,主要用于数据显示(波形、温度等)、用户控制(LED,继电器等),下位机(单片机)与 上位机之间要进行数据通信的两种方式都是基于串口的: USB转串口 —— ...
  • RPlidar A1上位机时遇到的几问题1 雷达传回的数据每512字节为组,数据解析时需要5组数据才能一起解析。这样在面板上显示的雷达数据和实时数据差距过大,在保存数据时不能保存面板数据。2 如果将在采集...
  • 他要如何实现图片的进行打印的,就是说上位机如何去控制电机的转动
  • 本文档具体介绍了快速设计一个简单WPF串口上位机界面的实现过程和代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,409
精华内容 15,363
关键字:

如何做一个上位机