自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 项目日志:Day30 --- 2020.9.11

任务: 空按 OK 键处理; 解决各种小 BUG;上午上午去深圳看了一下国际电子展5G 在工业上的应用已经这么熟练了吗,很多智能设备以及工业物联网都打着 5G 的旗号了;果然我们这还是小乡村呀,乡下人进城;下午解决一下 OK 键问题;用一个标志位bool isOk = false; //判断是否输入了数值,以防止空按 OK 键;判断是否空按 OK 键;而且空按后要仍然触控该位置继续输入状态,所以输入判断中要保留当前触控位置;这里我把计算函数加了个参数,方便使用(加参确实好用很多

2020-09-11 23:52:48 138

原创 项目日志:Day29 --- 2020.9.10

任务:衔接昨天遗留下的诸多问题;上午昨天下班前在论坛上问了录入状态的判断问题,今天的回复是这样的:也就是说,我可以设置加载的数据,根据数据地址中的值来判断是否处于输入状态;但这样就需要逐一判断了呀,一共 72 个地址,这判断就有点儿慢;昨天回家路上想到了另一个方法,真就不用键盘,光标用图标,利用一个图标变量,这样点击的时候,就能知道地址了,数据输入的话,不用键盘的模拟触控,而用一个 ans 记录按键,当扫描到按键,ans * 10 + key,每次一轮扫描的结束都将 ans 传过去,OK 键

2020-09-10 23:15:23 130

原创 项目日志:Day28 --- 2020.9.9

任务:现在的要求是无键盘,也就是说只用按键去输入;还有就是按了确认键以后,自动跳到下个输入;上午现在有个办法,就是我把键盘做的足够小,然后模拟精准触控,只用一块底色就好,这样也不会误触;逐格跳的话,可以尝试先将触摸的数据上传,得到地址,再模拟触控下一个地址上的录入控件;这样就要设置自动上传了;...

2020-09-09 22:54:39 124

原创 项目日志:Day27 --- 2020.9.5

任务:1. 主界面的改动;2. 尝试模拟滑动操作;上午魔改成功:这样键盘加在右下角,模拟触控就不会有问题了;

2020-09-05 22:52:06 97

原创 C++ Develop 13 --- 2020.9.4

记录开发目录13. 翻硬币小游戏5. 核心关卡设计6. 实现金币翻转13. 翻硬币小游戏5. 核心关卡设计首先创建金币类 MyCoin,仍是继承于 QPushButton 类,因为与之前 MyPushButton 功能不同,故重新构造;//MyCoin.h#ifndef MYCOIN_H#define MYCOIN_H#include <QPushButton>class MyCoin : public QPushButton{ Q_OBJECTpubl

2020-09-04 21:36:16 245

原创 项目日志:Day26 --- 2020.9.3

任务:1. 按键板的模拟触控调通(一个调通,后面的都好调);2. 界面上下滑动;首先把 ST-LINK 接好,尾部接端子口;我笑了,电胶布没了…这时候京东就是救命了,下午就到;借了一个 ST-LINK 用 Keil 调试一下;能够模拟触控,但是第二次数据自动上传接收不到,地址应该是 0x5001,但仿真里还是 0x5000,缓冲数组里的值也是 50,00;为何第二次接收不到呢;初步判断丢包了,可能第二次数据返回时没有进入中断;设置一个 times,每次进入中断时计数加 1;第一次返回

2020-09-03 23:41:29 163

原创 C++ Develop 12 --- 2020.9.3

记录开发目录13. 翻硬币小游戏3. 关卡选择4. 游戏关卡场景13. 翻硬币小游戏3. 关卡选择首先要添加新的类,命名为 ChooseLevelScene,即关卡选择,然后新建并维护一个该对象 chooseScene;chooseScene = new ChooseLevelScene;,随后要隐藏原窗口,显示新窗口;QTimer::singleShot(500, this,[=](){ this->hide(); chooseScene->show();});上

2020-09-03 23:38:29 154

原创 C++ Develop 11 --- 2020.9.2

记录开发目录12. 文件1. 实现功能2. 读取文件信息13. 翻硬币小游戏1. 菜单栏以及背景图2. 创建新的按钮类12. 文件1. 实现功能点击文件选取按钮,实现文件的选择及打印;用 Lambda 表达式来实现按钮的连接,不是太难 connect(ui->pushButton,&QPushButton::clicked,[=](){ QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\zhan

2020-09-02 20:11:31 304

原创 项目日志:Day25 --- 2020.9.1

任务:1. 按主界面样式设计一个调试界面;2. 测试外部按键触控;上午做了主界面,完全的工业风…我的审美被限制了;关于按键的输入问题,现在确实是只能做模拟;但没有仿真器没办法调试,买了一个明天到;下午现在有个新问题,下拉页面;迪文屏给的功能只有图标页面平移,也就是说,用来平移的页面只能添加基础触控,而没有显示触控或者录入,也就是滑动后的页面不能做数据输入;现在想到的办法是,建立一个大数组,存储所有的数据,由于显示控件是不能移动的,所有只能做数据更新;我们只显示 90 - 100 的

2020-09-01 23:07:08 207

原创 项目日志:Day24 --- 2020.8.31

任务:1. 按键与屏的互通;–这应该是一个很难解决的问题,对于 K600+ 的屏而言,可以用键控功能将外部按键与虚拟键盘连接,而 T5L 的屏只能用模拟触控的方式来实现外部按键模拟;看到一个帖子是将虚拟键盘的坐标定义在屏幕以外,这样的话当在别的页是该坐标是不存在的;好像并没有坐标定义,但思来想去也只有这种方法能防触控,T5L 屏又不具备键控功能;可以将按键和页面关联起来,当切换到该页面时,扫描到该按键才能发信号;我透了,放了两天,串口又出问题,莫名其妙,发数据 1 会显示 292,尼玛;

2020-08-31 23:20:48 152

原创 项目日志:Day23 --- 2020.8.27 / 28

任务:1. 调按键板驱动板和屏的连通;问题 1:程序烧进去后蜂鸣器一直响;初步判断为按键板上有个按键短路,用软件仿真再退出,程序卡在循环:while(!INT_H_KEY4);里,也就是说按键 INT_H_KEY4 短路;问题 2:屏收不到串口发送的数据;初步判断是串口初始化函数的问题,仔细检查了代码,和网上的做对比,修改了一些细节,应该是没有什么问题;代码如下:void uart_init(u32 bound){ GPIO_InitTypeDef GPIO_InitStructure;

2020-08-28 23:27:41 131

原创 C++ Develop 10 --- 2020.8.28

记录开发目录11. 鼠标事件12. 定时器11. 鼠标事件带有 Event 的则表示 Qt 当中的一些事件,比如 enterEvent 和 leaveEvent,分别表示进入事件和离开事件,且可重载;例如在 Label 中进行鼠标事件的重载,来打印一些信息,则新建 myLabel 类,继承于 QLabel,再重载: //鼠标进入事件 void enterEvent(QEvent *event); //鼠标离开事件 void leaveEvent(QEvent *

2020-08-28 19:29:57 165

原创 C++ Develop 9 --- 2020.8.27

记录开发目录10. 自定义控件10. 自定义控件第一步:添加新的 UI 设计界面;在这个新界面里封装组合控件,如下图:这只是一个小控件,回到初始的 Widget 中,添加一个 QWidget 控件,然后右键选中提升为,将新部件名填入;选中全局包含还可以记录下来,方便下次使用;其他的就是两个子控件之间的信号连接;代码如下:smallwidget.cpp#include "smallwidget.h"#include "ui_smallwidget.h"SmallWidget

2020-08-27 23:47:18 138

原创 C++ Develop 8 --- 2020.8.25

记录开发目录9. UI 基本控件七夕快乐~9. UI 基本控件今天内容有点多,把 ui 上的控件基本上都学完了;直接把老师的笔记贴过来,没有什么难的东西,都是应用和一些需要注意的细节;代码如下:Qt_Control:#include "widget.h"#include "ui_widget.h"#include <QDebug>Widget::Widget(QWidget *parent) : QWidget(parent), ui(new U

2020-08-25 21:07:07 209

原创 C++ Develop 7 --- 2020.8.24

记录开发目录8. QtSource9. 对话框8. QtSource用 UI 去做的话十分快捷,直接用控件拖拽即可:注意新添加的话要用英文,若要显示中文则需要去改 text 的值;图片资源的添加:添加新文件,选择 Qt -> Qt Resource File之后将图片库文件放入项目的根目录,再在编辑器中添加;这样使用图片就不需要用绝对路径,而可以用": + 前缀名 + 文件名";9. 对话框一些常用的模态对话框,比如错误,消息,问题,警告等:参数解释:参数1 父亲

2020-08-24 22:37:53 191

原创 C++ Develop 6 --- 2020.8.22

记录开发目录随便用学的窗口知识写了个搞怪的程序,但问题是它体积很大;加载的 .dll 文件几百 MB,很奇怪,这只是一个简单的程序;打包压缩的话也是有 200+ MB;我感觉应该有小一点的库可以用;#include "mainwindow.h"#include <QMenuBar>#include <QToolBar>#include <QDebug>#include <QPushButton>#include <QStatu

2020-08-22 23:02:19 115

原创 项目日志:Day22 --- 2020.8.21

任务:1. 芯片选型第三个项目的芯片的采样频率太慢了,当冲床快起来后采点数太少,定位不到最低点;ADS / ADC 芯片的选型规格,分辨率至少要在 18,速率要在 100ksps;看到了一篇有关 ADC 芯片的介绍:一文看懂ADC芯片,国产如何突围?;Ti 的芯片确实太贵了,只能先看看国产的芯片;...

2020-08-21 23:02:43 230

原创 C++ Develop 5 --- 2020.8.21

记录开发目录6. Lambda 表达式6. Lambda 表达式以前学 C++ 的时候没有接触过 Lambda 表达式;先看一下用法:mutable 只是一个修饰符,加上后可以修改拷贝值;默认情况下参数是只读状态;返回值例子:int ret = []()->int {return 1000;}(); //后面的括号表示函数的实现;qDebug() << "ret = " << ret;应用:利用 Lambda 表达式,实现点击按钮,关闭窗口,且

2020-08-21 23:02:23 136

原创 C++ Develop 4 --- 2020.8.19

记录开发前言:昨天学习到信号与槽,今天先把这部分内容补全;目录5. 信号与槽(2)5. 信号与槽(2)查找 QtAssistant,发现 QPushButton 中的信号 signal 全是继承于父类;点击 QAbstractButton 类,其 signal 有以下几种:分别表示点击,按压,释放,切换,而现在我们按钮所要实现的功能是关闭窗口,故只需要信号 clicked 即可;而信号的接收者应该是窗口,也即 QWidget 类,在助手中列出了一个 public slots,即公共

2020-08-19 23:29:13 167

原创 C++ Develop 3 --- 2020.8.18

记录开发前言:昨天的代码跑出来的是一个空白的窗口;效果如下:今天就要往窗口内加内容;目录1. 工程文件解释2. .h文件解释3. 创建按钮4. 对象树析构问题5. 信号与槽1. 工程文件解释QT += core gui //Qt包含的模块greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于4版本以上 包含 widget模块TARGET = 01_FirstProject //目标 生成的.exe程序的名

2020-08-18 22:27:15 152

原创 项目日志:Day21 --- 2020.8.17

任务:1. 解决遗留小问题2. 学习开发

2020-08-17 22:48:24 110

原创 C++ Develop 2 --- 2020.8.17

记录开发前言:经了解,Qt是用来开发软件所用周期最短,最易上手的软件;在B站上选择了一个Qt课程来学习,总时长16小时;预计一周完成;一 、Qt项目创建New Project,然后依次点击;Detials 中有个选项需要注意:基类选项,后两者为前者的派生类;QWidget 为父类,是一个空框架,而 QMainWindow 多了菜单栏以及状态栏,而 QDialog 是对话框类;这边跟着教程选择父类并自建一个 MyWidget 类别:版本控制多人协作开发,团队开发,SV

2020-08-17 22:44:42 168

原创 C++ Develop 1 --- 2020.8.8

记录开发软件类别:系统软件 / 驱动程序等; C/C++C/S架构 —— client 客户端 / server 服务端; C/C++ QtB/S架构 ——B 浏览器 / server 服务端如百度,B站;(1)前端 样式界面 - Html, CSS, JS(Javescript);(2)后端 后台操作 - Java, PHP, Node, Golang, Python;移动段,如Android, IOSJava, Kotlin, Object-c小程序是微

2020-08-17 17:09:30 117

原创 项目日志:Day20 --- 2020.8.15

任务:1. 解决遗留小问题2. 学习开发–上午首先解决VSCode中格式化代码的问题;前两天按Ctrl + S保存是格式直接乱掉,怀疑是自带的Clang-Format配置出了问题;参考文章:VSCode格式化C/C++代码–配置clang-format;首先安装Clang-Format,接着找到clang-format.exe文件路径,一般是在C:\Users"Username".vscode\extensions\ms-vscode.cpptools-0.30.0-insiders2\

2020-08-15 22:58:59 137

原创 项目日志:Day19 --- 2020.8.14

任务:1. 滚屏报警;2. 烧录软件开发;上午解决了滚屏清屏问题;指令格式为5AA5 05 82 4003 0000,根据字符长度调整发过去的空字符数;要注意的是滚屏的改变方式是替换,而不是删除后覆盖;所以说不能让文本太长,否则替换后会变成乱码;果然又出了莫名其妙的问题,给指令后还会出现英文ZT;服了,垃圾迪文;放弃了,改用图标来做报警;一步到位:只需要在地址处给1启动即可;...

2020-08-14 21:34:57 814

原创 项目日志:Day18 --- 2020.8.13

任务:1. 修改项目二数值返回函数;2. 滚屏报警显示,且报警常亮不休眠;3. 烧录软件开发;上午目前程序烧录进去后存在的问题是:无法连续两次输入上限值;代码如下:DWIN.c#include "DWIN.h"#include "usart.h"#include "delay.h"#include "sys.h"int rx=0; u8 ID1,ID2,m=0;u16 Recive_shang,Recive_xia,shang1,shang2,xia1,xia2;u8 t;

2020-08-13 22:38:37 131

原创 项目日志:Day17 --- 2020.8.12

任务:1. Modbus协议;2. 屏幕发热测试;2. 批量烧录软件;前言:昨天去看了广州自动化展,没有做项目;不过新鲜东西倒是见到了许多;上午前天买的32GSD卡到了,但插入后没有反应;用教程格式化后也不行;论坛上找到一篇帖子,是要先将SD卡分区后再格式化;32G及以上SD卡使用方法也就是说32G及以上容量不支持单元格为4096的格式化;所以要先用** paragon partition manager将SD卡分区为小于16G**,再利用电脑将其以单元格大小4096格式化;

2020-08-12 23:11:53 223

原创 项目日志:Day16 --- 2020.8.10

任务:屏幕界面屏保;批量烧录软件;上午前两天都在学VS学Qt,项目上没什么进展;主要内容都记在学习笔记上了;查资料找到了一个关于迪文屏OS开发和C51开发的解释,贴过来记录一下:关于屏保和密码:找到的资料是DWIN_OS操作,也就是说要用DWIN自定义的汇编代码来编写;好在论坛上直接给了例程,只需要读懂代码再修改即可;这么一看迪文的体系确实做的很完善;贴上原例程汇编代码: ; DWIN OS ;0001H,0002H 密码录入 ;0003H,0004H 新建密码

2020-08-10 21:03:30 293

原创 项目日志:Day15 --- 2020.8.7

日常贴任务1. 更改项目二的界面;2. 项目一界面的优化更改;3. 批量烧录问题(长远问题);反正也是要记录项目;顺手参加一下;说不定进了呢;上午卡套有问题,得重新买一个;上午关于屏的工作又泡汤了;刷了个内核串口也无法下载了;先把它在软件里改好;不可改动窗口背景色为浅灰色,字体为黄色;C++ 的软件开发是一门大学问呀;应该是要从操作系统 API的了解开始;下午看书买书;唯一的一块实验板烧坏了,屏也坏了;将浅灰色改成了深灰色,黄色字才看得清了;除此之外,下午一事无成

2020-08-07 22:07:51 129

原创 项目日志:Day14 --- 2020.8.6

任务更新:1. 更改项目二的界面;2. 项目一界面的优化更改;3. 批量烧录问题(长远问题);一大早就被带去了厂里测试板子;回来后改了一下项目二界面;加入了启动和设定按钮;动态曲线不需要了;但还有个问题:启动后应该是不能更改值的,也就是说要做页面切换;但页面切换没有地址,该怎么上传标志;找到了按键返回按钮;既可以页面切换,也带有地址;完美~串口下载是真的慢;而这个8G的内存卡像吃了屎一样;每次导入都会出错;行吧;明天Kingston就到了;这些垃圾玩意可以丢了;

2020-08-06 22:34:40 140

原创 项目日志:Day13 --- 2020.8.5

任务更新:1. 屏与单片机的数据读取接受问题;2. 动态曲线坐标轴的绘制;3. 批量烧录问题(长远问题);上午串口返回值接受不到,只能接收到一个帧头;为什么单片机和屏不通呢;代码没有问题,但用单片机发送数据给屏的话并不显示;用另一个搭载STM32芯片的电路板却可以实现通讯;莫非是芯片的问题;所用的串口驱动是不同的;神奇的事情;直接试了一下仿真,结果代码跑了,屏幕上也显示了;那为什么直接将程序拷进去时它不跑呢;就离谱;网上说是因为没有勾选下载后运行,所以要按复位Reset;下

2020-08-05 23:18:31 116

原创 项目日志:Day12 --- 2020.8.4

日常贴任务:1. 解决单片机与屏之间的数据读写问题;2. 解决屏幕时间读取与显示问题(用单片机解决);3. 批量烧录问题(长远问题);上午各种出状况:屏幕接串口无法识别,显示有电涌;Internet又无法识别了,日常断网;单片机与屏幕接线正确但是程序执行没反应;直接改用sscom串口调试;换一条长排线才能重新使用串口;发送写数据指令:5AA5 07 82 1000 00 00 00 18,串口返回应答指令5AA5 4F 4B,同时屏上显示数据0.024;0x00000018的十进制

2020-08-04 21:53:15 206

原创 项目日志:Day10 + 11 --- 2020.8.1 / 8.3

祝:八月快乐每次先把主任务贴上:1. 解决单片机与屏之间的数据读写问题;2. 解决屏幕时间读取与显示问题;3. 批量烧录问题(长远问题);上午查资料发现所用屏幕不一定带有RTC芯片,也就是说不一定能够支持RTC时钟(难搞);所以现在只能尝试通过C51开发来实现时钟功能;...

2020-08-03 22:28:54 269

原创 项目日志:Day9 --- 2020.7.31

上午写完了所有老化程序;解决了依次按键显示加1的问题(在外层加了一个for循环);贴上main.c的代码:#include "delay.h"#include "sys.h"#include "Key.h"#include "74hc595.h"#include "Input.h"#include "Output.h"#include "Epprom.h"#include "LED.h"u8 t;int main(void){ delay_init(); //延时函数初始化

2020-07-31 23:32:02 198

原创 项目日志:Day8 --- 2020.7.30

上午弹簧机选用1024 * 600的新屏(长宽比有点另类);迪文屏基本上是串口屏,只不过系统不一样导致开发调试的方式不一样;同步了一下ONENOTE,把地址笔记同步过来了;给故障页面加上了文本显示控件,但是下载到屏里后文本显示还是有问题,像素点是花的;下午冲床检测仪的界面也差不多做好了原来字库ID要从23开始命名(迪文的命名真是够强迫症的);...

2020-07-31 08:22:36 108

原创 项目日志:Day7 --- 2020.7.29

上午一大早跑去买家厂里测试程序;改各种功能,修bug;最后还是有个功能没做出来(事先也没说明)— 异常断电后按复位才能继续启动;但板子上搭载的是机械复位,其功能也就相当于断电重启;难搞;按键功能的老化程序完成了(舍弃了有bug的KEY5);先贴一下芯片管脚图:头文件Key.h:#ifndef __KEY_H#define __KEY_H #include "sys.h"//定义KEY来读取各个按键值;#define KEY1 PBin(7)#define KEY2 PB

2020-07-29 22:41:24 394

原创 项目日志:Day6 --- 2020.7.28

上午继续写老化程序;之前的程序老是第五第六个数码管不亮,各种改代码测试都不亮;最后发现是初始化驱动写错了;往使能函数里加接口时顺序写错了;错误代码:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB |RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOC, ENABLE | RCC_APB2Periph_GPIOA);//ENABLE 写在A口的前面了,导致A口没有初始化;正确代码:RCC_APB2PeriphClock

2020-07-28 23:31:32 133

原创 项目日志:Day4+5 --- 2020.7.25 / 27

上午第一个产品的老化程序:按键和数码管,要求每次按键数码管加1每个程序只跑一次要求输出输入全通时,数码管显示 8,若其中一个缺少则报警,显示 ERROR;要求断电记忆数据;用 Keil 写代码真不太舒服,在老电脑上安装了 VSCode 以及 Keil 插件;只不过不能在里面编译,会报错;写完代码后回 Keil 编译;半路杀出个测距函数问题;官方只给出了传感器的函数图像,而没有函数关系式(估计也是通过数据拟合出来的);**解决方法:**直接用电压值做参考值,而不用距离,电压值是能

2020-07-28 00:09:11 105

原创 项目日志:Day3 --- 2020.7.24

上午做了一下冲床屏幕的界面;试验了一下浮点数的显示情况,貌似可以直接将浮点数传到屏幕显示;下午数据问题;若要显示正确的浮点数,则需要传送该浮点数的十六进制表示;但是在C语言中浮点数不支持位操作,无法通过位运算来读出其十六进制;...

2020-07-24 21:11:51 236

原创 项目日志:Day2 --- 2020.7.22 / 23

上午在鼓弄老电脑,把能删的都删了,同时下载了 Keil;旧电脑 DGUS Tool 没有缩放问题,看起来更舒服一点;下午网是真的卡呀;今天将图标变量全部赋值了,但是没有在屏上显示,是否还是图标库命名的问题,64_识别不到,超过了ID范围;但是改成 63偏小了,会死机;...

2020-07-24 09:13:31 114

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除