- 博客(671)
- 资源 (54)
- 收藏
- 关注

原创 软件设计概论
任何技能,都是由很多细节组成。我们学习一种技能,最好能先对整个技能及框架有一个大概的把握,然后再学习他的细节。软件设计同样如此。我们将整个软件设计的体系(框架)看成一棵树,首先我们需要对整个体系的树干从上到下有一个较为清晰地轮廓,进而熟悉树枝、树叶等细节信息。网络应用(主要)驱动操作系统CPU-内存-外存(硬盘,I/O设备(USB,鼠标,键盘等))我们知道,计算机是由硬...
2012-03-28 14:33:36
1113

原创 编程的本质
我们发明计算机的目的是为了解决问题,特别是解决大量数据的计算问题。 问题的解决之道!本质上,计算机所能做的只有一件事:数据处理或数据计算。核心就是数据。我们输入数据,计算处理他,然后输出结果。这个就是所有的过程。 输入 计算 输出 这个过程的核心就是数据的计算(处理)。这个处理过程是...
2011-11-02 20:08:33
5521
原创 汽车燃油软件标定测试
MCU 通过ADC 采样获取燃油阻值,得到剩余油箱的参考。续航=剩余油量/平均油耗。3. 油泵测试(动态)看是否符合测试要求。
2025-01-03 19:14:34
532
原创 dbus 相关
2. 调用dbus_bus_add_match()添加信号匹配条件,一般是以字符串列表(包含interface和member)的形式添加。告诉dbus总线该进程想要接收信号对应的接口和信号名,当dbus总线接收到对应的信号时就会发送给添加条件的进程。1调用dbus_bus_register进行Dbus总线注册。10. 调用dbus_message_new_signal(obj_path,interface,member)创建要发送的接口名和信号名。
2024-12-12 09:21:53
225
原创 bug vscode
记录一个bug,设置vscode保存自动格式化,他居然交换了头文件顺序(ascii排序),导致编译不过。将错误的这个头文件放前面即可。
2022-11-29 18:58:29
486
原创 全能终端神器 MobaXterm
MobaXterm真是个好东西!支持SSH,FTP,串口,VNC,X server等功能;软件小巧强大,还有绿色版。#include <iostream>#include <thread>#include <chrono>#include <atomic>class Timer { std::atomic<bool> active{false}; public: void setTimeo
2022-03-16 15:54:43
1015
1
原创 Qt窗口内嵌Word,PPT,Excel
参考#include "mainwindow.h"#include "ui_mainwindow.h"#include <QDebug>#include <QDesktopServices>#include <QUrl>#include <windows.h>#include <winuser.h>#include <QTime>MainWindow::MainWindow(QWidget *parent)
2022-02-09 13:46:28
3296
2
原创 mykernel 精简内核注释
源码链接本文只是注释了一下孟宁老师写的一个非常简单的mykernel精简内核。此内核源码仅仅100多行代码,只包括三个文件。通过三个文件mypcb.h、mymain.c和myinterrupt.c实现了一个简单的时间片轮转调度进程的精简内核。其中:mypcb.h 声明了进程控制块,即定义了一个结构体来说明进程的相关参数;mymain.c 有两个函数,函数my_start_kernel() 用来初始化进程;函数my_process()作为每个进程的入口地址,开始逐个调度执行进程;myinte
2022-01-21 14:27:18
1093
原创 QT 消息处理机制
Qt提供函数QApplication::processEvents()来处理消息。调用流程如下:1.bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags) { createInternalHwnd(); do{ PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS,
2022-01-20 13:38:56
1061
原创 for循环-汇编
#include <iostream>using namespace std;//forint fun(int val){ int sum = 0; for (int i = 0; i <= val; i++) { sum += i; } return sum;}void main(){ int val; cin >> val; int sum = fun(val); cout << sum << endl;}
2021-12-09 13:32:28
1053
原创 C逻辑操作(与或非异或)- 汇编
#include <iostream>using namespace std;//加减乘除 add,sub,imul,idiv void main(){ int a = 0; a = 0b10001100; a &= 0b10000111;//1000_0100 = 132 a |= 0b00001101;//1000_1101 = 141 a = ~a;//低8位: 0111_0010 a &= 0xFF; a ^= 0b11111100;//1000
2021-12-09 11:10:12
354
原创 C 加减乘除的汇编
#include <iostream>using namespace std;//加减乘除void main(){ int a = 1; ++a; a++;//前置和后置: 基本类型,无区别;复合类型前置返回引用不复制,效率高 a += 2;//add eax,2 a--;//add eax,1 --a;//add eax,1 a -= 2;//sub eax,2 a *= 2;//shl
2021-12-09 10:57:48
457
原创 汇编指令入门
世界的底层是原子和电子,电子构成电路(门电路,触发器),二进制的电路构成计算单元(加法器等),计算单元+存储设备+输入输出设备=计算机。(我们需要计算世界的真实问题,需要对问题进行抽象和数字化,然后把数字化的待处理数据输入给输入设备(一般是键盘),输入设备将数据存入内存,计算的算法传给计算单元,计算单元计算后把结果再存入内存,最后输出给输出设备(一般是显示器))。2.计算机的本质是计算(CPU),计算的核心是CPU的ALU。算术逻辑单元(Arithmetic&logical Unit)...
2021-12-09 10:06:15
832
原创 x86常用汇编指令测试
#include <stdio.h>#include <iostream>using namespace std;/*常见汇编指令1. 传送指令(4个):mov、push、pop、lea。2. 转移指令(8个):call、jmp、je、jne、jb、jnb、ja、jna。3. 运算指令(7个):add、sub、mul、div、adc、sbb、cmp。4. 处理机控制指令(1个):nop。//*/int test(){ __asm { //1. 数据传送指
2021-12-08 10:00:25
499
原创 汇编-加减乘除与或非
以下代码实现C嵌入汇编,实现加减乘除,与或非异或功能// asm_test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <stdio.h>#include <iostream>using namespace std;enum { ADD, SUB, MUL, DIV, AND, OR, NOT, XOR}ALU;int calc(int a, int b, int cmd){ if (ADD
2021-12-04 15:17:19
1482
原创 《穿越计算机的迷雾》
世界最底层的粒子是电子,原子,他们组成了万物。同样,他们也组成了计算机。原子无法毁灭,只能流动,重组。电子的流动形成电流。用电来表示数计算机只能识别二进制,因为两个状态容易识别,有无,就像开关,开了有电流,通路就是1;关了没有电流,断路就是0.电报—继电器----给电路蓄电。5. 笛卡尔坐标系。导体在磁场中旋转一周所产生的交流电波形为正弦波。电压为0,电压增加到最大,然后减少到最小,循环往复。6.电磁波。。。无线通信布尔逻辑代数: 与或非。逻辑电路。数字电路: 加法器,减法器.
2021-12-04 15:12:41
505
原创 《编码的奥秘》
计算机就是计算用的机器,本质作用是计算。人类计算太慢,他是为了取代人类计算用的工具。整个世界可以说是模拟的,但是我们可以把他数字化,数字化后就可以用计算机来计算了。任何东西都可以数字化,文字,图像,视频,一棵树,一辆车等等。计算机也可以用来通讯。通讯最重要的是通讯协议。通讯的双方必须约定大家都能懂的协议,才能知道对方在表达什么意思。协议和编码。文字,图像,视频都必须编码为计算机能识别的数字信号才能被计算机认可。编码方式很多:摩尔斯电码,ascii码等等。世界的底层是电子和原子,他们构成.
2021-12-04 10:37:09
1508
原创 QT bin二进制文件读写发送
//通讯协议: 0x55,0xAA,datalen(2),total_packet(2),cur_packet(2), data(1024), checksum(1)const static int PACKET_SIZE = 1024;//每次发送的字节数const static int PACKET_HEAD_SIZE = 10; //协议字节数void MainWindow::sendBinFile(const QString& filePath){ QFile f
2021-08-19 13:34:06
5456
13
原创 Qt 守护进程创建
#include "mainwindow.h"#include "ui_mainwindow.h"#include <QDebug>#include <QTimer>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow){ ui->setupUi(this); m_process = new QProcess();
2021-05-21 15:16:22
873
1
Agilent Technologies EMC Series Spectrum Analyzers
2013-12-21
VC,.BCB串口通讯代码
2012-12-12
WinPcap中文技术文档.chm
2011-09-20
RiftDK1源码
2016-10-26
支持win7 64位的hex2bin程序(v2.2)
2016-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人