自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python安装ESPHome

3. 根据报错信息找到esphome的安装目录,我的是C:\Users\wxc\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\Scripts 在该目录下找到esphome.exe就算成功。6. 后续每次访问ESPHome都需要进入该目录,打开终端,输入命令,浏览器访问。5.浏览器访问localhost:6052。

2024-05-15 23:09:49 208

原创 系统移植--无法启动Linux内核--报错VFS--挂载nfs失败

找信息:VFS。

2024-02-01 20:24:30 380

原创 对嵌入式系统的初步理解

1、嵌入式系统硬件的限制(CPU处理能力不如电脑、存储空间小、网络带宽小不利于传输、安全性不如电脑、能耗问题)2、交叉编译的定义:在X86PC机上,编译出能够在目标机上运行的程序代码(如ARM :arm-linux-)3、交叉编译工具常用:gcc(GNU Compiler Collection,简称GCC)、GNU工具集(编译工具+调试工具+协助开发工具make等+其他工具如链接)

2024-01-30 20:02:06 605

原创 系统移植 day2 bootloader->u-boot 移植

1、满栈:当堆栈指针SP总是指向最后压入堆栈的数据,称为满栈;2、空栈:当堆栈指针SP总是指向下一个将要放入数据的空位置,称为空栈;满栈状态下,先移动指针,后赋值. 空栈状态下,先赋值,后移动指针(记忆:空栈已经是指向下个元素了,肯定就只能先赋值,后移动。相应的,满栈就是先移动)1、升栈:随着数据的入栈,SP指针从低地址向高地址移动,称为升栈;上面先出2、降栈:随着数据的入栈,SP指针从高地址向低地址移动,称为降栈;下面先出ARM处理器S3C2440采用的是满栈、降栈。

2024-01-24 20:28:29 934

原创 系统移植 day1 tftp简单文件传输协议和nfs网络文件系统的环境搭建

这里的“内核”是指操作系统内核,而不是开发板的CPU。3.点击 网络图标 -> 有线设置 -> + -> mac地址 -> ipv4 -> 自动/手动 -> 确定//学会设置手动和自动ip。1.编辑 -> 虚拟网络编辑器 -> 桥接模式 -> 桥接至(有线网卡) -> 选择USB -> 确定 //别选成网络了。2.虚拟机 -> 设置 -> 网络适配器 -> 自定义 -> 桥接模式 -> 确定。存储器(如:ROM,FLASH,SD,微硬盘):存储程序。1)有os(操作系统)的软件组成。

2024-01-24 19:21:12 1050

原创 ARM day7 day8 UART串口、PWM蜂鸣器、WDT看门狗、ADC数模转换

在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。看门狗的作用就是防止程序发生死循环,或者说程序跑飞。练习:串口控制LED 输入0时灯亮 输入1时灯灭。

2024-01-24 01:14:08 1377

原创 ARM day5、day6 硬件编程

fs4412 sd卡 串口线 电源。

2024-01-18 20:28:45 957 1

原创 ARM day4 汇编及硬件编程

load -- 加载 读store -- 存储 写在ARM 架构下, 数据从内存到cpu 直接的移动只能通过 LDR/STR来完成mov 只能在寄存器之间移动数据 ,或把立即数移动到寄存器 ,并且数据长度不能超过 8 位str r2, [r0] //把r2 的数据 存储(写)到 r0 地址 *((int *) r0) = r2往右写ldr r1, [r0] // 把r0 地址中的数据 加载(读)到 r1 中 r1 = *((int *) r0)往左读。

2024-01-16 20:37:07 1777 1

原创 ARM day2、day3 汇编

其中,操作码、条件码、寄存器索引和位移量总共占据了大部分的指令位数,因此,一个 ARM 指令中只有少部分(通常为 8 位)是用来表示立即数的。实质是做 与运算, 通常用于 测试某一位或几位是0 还是1 结果 CPSR 'Z' 位来判断, Z 位位 1 表明结果为0。tst r0, #0x8 表示判断r0的第三位(8的二进制1000,也就是从右往左的第四位(0 1 2 3))是否为0。tst r0, #0x10 //测试 第4位是否为 0, if((r0 &(0x10)) == 0)

2024-01-15 20:28:59 1731 1

原创 ARM day1

T = 1, j = 0, 处于 thumb 状态 (一条指令 2 字节 16 位)5*SPSR(saved program status register保存之前的程序状态寄存器)+T = 0, j = 0, 处于 ARM 状态 (一条指令 4 字节 32 位)CPSR(current program status register当前程序状态寄存器)+T = 1, j = 1, 处于 thumbEE 状态。PC(program counter程序计数器)+

2024-01-11 20:26:44 1078 1

原创 Qt day8 数据库编程

周末愉快

2024-01-05 20:32:22 974 1

原创 Qt day7 UPD/TCP网络编程

widget.h:套接字头文件 槽函数 套接字。

2024-01-04 20:36:56 400 1

原创 Qt day6 绘图 文件类

1.需要用到的函数//重写虚函数//重写虚函数update() --- 手动刷新,界面重绘,触发paintEvent事件,可以配合定时器事件timerEvent一起使用QPainter: //画家QPen: //笔QBrush: //刷子//set this 表示设置主窗口为画布//设置画笔//设置画刷//画线//画矩形//画椭圆//画圆//画图片//将画家的坐标系的原点移动到主窗口的中心点位置p.save();

2024-01-03 20:11:20 336 1

原创 Qt day5 -- QmainWindow主窗口 事件 事件过滤器

QMenuBar:菜单栏QMenu: 菜单QAction: 动作QToolBar: 工具栏QStatusBar: 状态栏//cpp文件(本程序只需要写cpp文件即可)

2024-01-02 20:00:08 397

原创 C++ day8、day9 异常、转换函数、智能指针、STL标准模板库

public:public:const char *what() const noexcept{ //重写基类的虚函数return ptr;后续的错误语句就是这里的ptrprivate:if (y!=0 && x!!");//自定义派生异常else!");//标准异常try{return 0;四、

2024-01-02 18:41:11 377

原创 C++ day7 多态

重写--覆盖(override):重写虚函数,名字、参数、返回值都必须相同(虚函数、不同作用域,其他相同,相当于覆盖继承来的虚成员函数的函数体内容)重载(overload):成员函数重载(同域同名)重定义-隐藏:(不同域,同名),参数不同。此时,不论有无 virtual 关键字,基类的函数将被隐藏(因为不同域不能重载,所以称为隐藏)参数相同,但是基类函数没有 virtual关键字。此时,基类的函数被隐藏(注意与覆盖的区别)(基类有virtual就是覆盖了)总结:同域,同名重载。

2023-12-21 20:27:55 760

原创 C++ day6 继承、面试题

一、类继承用已有的类来建立专用的类,实现代码重用父类-子类 基类-派生类。

2023-12-20 18:46:34 328 1

原创 C++ day5 模板、面试题、重载string类

泛型编程:编写与类无关的代码 //主函数使用举例:add(m,n);(而库函数不在编译器的控制权限之内)头部声明:template 外部friend函数定义:template 头部声明:template 外部定义:template 外部定义:template 头部声明:template

2023-12-19 20:43:05 880

原创 C++ day3 day4 -- static\const关键字 运算符重载

声明在类(private),定义在外,而非主函数创建对象;所有对象共享static成员变量,均可擅自更改!声明在类(public),定义在外;以访问static成员;所有对象共享static成员变量;声明加static,定义不需要;主函数中使用时,通过类名::访问!!

2023-12-18 21:41:54 336 1

原创 C++ day2 类、构造函数、析构函数、拷贝构造

类:是一种类比结构体的自定义数据类型,是对象的类型,不占有内存空间对象:是类的变量。

2023-12-14 20:35:43 349 1

原创 C++ day1 和C的差异、作用域、链接性、动态内存

int a = 1;int &b = a;//给a取别名为b,不占地址空间,可以理解为b是int &类型eg:引用传参(取别名传参 -- 效率最高)

2023-12-13 19:10:15 756 1

原创 网络编程day6 - sql数据库的初步学习

安装sqlite3数据库管理系统:安装可视化:编译:db释意:data base 数据库的意思。

2023-12-07 18:56:50 803

原创 网络编程 -day5-poll select复习-getsockopt()-广播

while(1){select(nfds=maxfd+1,&tmp,NULL,NULL,&timeout)}函数原型:int getsockopt (int sockfd, int level, int optname,void *optval, socklen_t *optlen);//参数:(sockfd,SOL_SOCKET,SO_BROADCAST,&timeout,sizeof(timeout)//poll的三个参数:结构体首地址、元素个数、超时(-1表示阻塞等待事件)

2023-12-06 22:01:18 817 1

原创 4WD PWM控制

void car_turn_right(uint16_t leftspeed,uint16_t rightspeed) //右转。void car_go_front(uint16_t leftspeed,uint16_t rightspeed) // 前进。void car_turn_left(uint16_t leftspeed,uint16_t rightspeed) //左转。

2023-07-01 16:51:05 36

原创 4WD循迹

else if(IN2==1 && IN1==1 && IN3==0 && IN4==1) //1101 灯1脱离黑线 小车左偏 直行右偏 左轮加速。else if(IN2==0 && IN1==1 && IN3==1 && IN4==1) //0111 小车大幅度右偏 小车直行左偏 右轮加速。else if(IN2==1 && IN1==1 && IN3==1 && IN4==0) //1110 小车大幅度左偏 小车直行右偏 左轮加速。//黑线灯亮 灯亮IN为0 小车灯序2134。

2023-07-01 16:44:06 37

原创 4WD智能小车 红外避障

/ 判断右侧是否有障碍物。// 判断左侧是否有障碍物。void Redlight_Init(void) // 初始化。//判断右侧是否有障碍物。//判断左侧是否有障碍物。

2023-06-30 08:13:41 87 1

空空如也

空空如也

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

TA关注的人

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