自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【嘉楠堪智K230开发板试用体验】手势识别

配置预处理操作,这里使用了crop和resize,Ai2d支持crop/shift/pad/resize/affine,具体代码请打开/sdcard/libs/AI2D.py查看。# 配置预处理操作,这里使用了pad和resize,Ai2d支持crop/shift/pad/resize/affine,具体代码请打开/sdcard/libs/AI2D.py查看。# 显示模式,可以选择"hdmi"、"lcd3_5"(3.5寸mipi屏)和"lcd2_4"(2.4寸mipi屏)

2025-07-13 23:39:54 876

原创 【嘉楠堪智K230开发板试用体验】网络收发信息

它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:**连接使用的协议(通常是TCP或UDP),本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。所以,socket的出现只是可以更方便的使用TCP/IP协议栈而已,简单理解就是其对TCP/IP进行了抽象,形成了几个最基本的函数接口。从上图可以看到,建了Socket通信需要一个服务器端和一个客户端,以本实验为例,CanMV K230作为客户端,电脑使用网络调试助手作为服务器端,双方使用TCP协议传输。

2025-07-13 23:29:27 735

原创 【嘉楠堪智K230开发板试用体验】开箱测试

CanMV-K230是一款基于嘉楠科技K230 AIoT芯片的开发板,采用双核RISC-V处理器和6TOPS算力的KPU神经网络加速器,支持多种AI计算框架。开发板配备1-2GB内存、最大512GB存储、3路MIPI-CSI摄像头接口和1080p显示输出,外设丰富包括Wi-Fi、USB、音频等。采用金属外壳和散热设计,尺寸仅85×56×15mm。配套CanMV IDE开发环境,支持Python脚本和视觉项目开发,适用于边缘AI和机器视觉应用,具有高性价比和易用性特点。

2025-07-01 20:40:44 781

原创 CAD学习总结1:基础二维绘图

布尔运算: uni(一大堆交错图形中删去中间的线) in(一大堆交错图形中保留中间的图形) su(差集,a删b,b删a)tt:在确定图形后输入tt,再输入偏移量,可以在指定位置建立坐标,在坐标周围比划还可以继续建立坐标,鼠标移动到坐标上就消失了。tk:在确定图形后输入tk,再输入偏移量,可以跳转坐标,根据鼠标位置再输入距离可以再跳转,知道输入enter结束,建立图形。al:对齐(基于两三个点)比如一个图形要和一条线对齐(通常和S一起用,如果对齐后尺寸不对,可以用下面的S指令调整)

2024-11-12 22:38:06 677

原创 rcore介绍

QEMU 是一个开源的虚拟化软件,可以模拟多种架构的硬件,使用户能够在不同的平台上运行操作系统和应用程序。一个块512个字节,可以存放一定数量的索引,被称为索引块,也可以存放数据,被称为数据块。在开源操作系统青训营的第二阶段,对rcore的学习中,写出一个os是循序渐进的。也就是将原本的进程中一个个线程单独拎出来,放到列表中执行。优先级值越小,步长越大,进程越靠前,越先执行。提供中断和异常的处理,定时器,内存管理等。第一级页表包含了第二级页表的地址,第二级页表包含了第三级页表的地址,

2024-10-20 19:33:23 1216

原创 rust语言一文速通+评价

这个时候a就不等于它原来的数组了,由b去承载这个数组,如果只是简单赋值,可以用clone复制一份给b,这样a,b都有了这个数组,这里还可以延伸出类似cpp的引用,不过分为可变和不可变,前者只是b拿a的值用一下,后者是b拿a的值去修改,让a的值也发生变化。///////////////////////////////////////////////////下面简单介绍一下rust语法//////////////////////////////////////////////////////////////

2024-10-20 18:07:54 374

原创 IIC双总线协议

当SCL一直是高电平是,原则上SDA不能变化,除了起始结束信号,因为这个时候SCL在保持着让IIC通信良好的状态,当SCL为低电平时,正是SDA发送数据的好时候,这时SDA可以自由变换。和输送接受数据一样,信号从外设过来时,SCL高电平保持通信良好,以便接受SDA来的信号,并返回这个信号,来判断是否成功。信号从IIC总部过来时,先把SCL低电平,方便信号从SDA传输,然后SCL置1来送,之后再把SCL置0,让SDA变化。这时SCL要保持高电平1,这时SDA是下降沿,由高电平到低电平,则为开始信号,

2024-04-26 19:00:41 315 1

原创 git的使用与github联合

先说一下github,就是别人把代码和一个教程,项目等等各种东西都放到了github上面,github比较大,类似于网盘,重点是code里面去复制别人的URL(类似于域名,一个标识),来把别人的东西下载下来。可以用git checkout -b 分支名,来创立其他分支,用git checkout 分支名,来切换分支,用git branch来查看有多少分支。用git reset --hard 项目ID,或者git checkout 项目ID,来回到那个时候项目的状态,同时也能调回来。

2024-04-13 17:27:22 393 1

原创 蓝桥杯第13届省赛题代码

这是onewire.c的代码,因为做了点调整,所以发出来,其他的比如iic.c没有做调整就不发出来占空间了。

2024-03-18 19:41:24 255 1

原创 蓝桥杯单片机MCU内部架构

可以把寄存器当成一个长条,一个中断要用到三四个寄存器,但是只用每一个寄存器的一小部分,51单片机支持中断,靠多个寄存器来实现中断,定时/计数器1:TF1。下面是有关嵌入式开发的概述。下面是微处理器的内部架构。定时/计数器0:TF0。外部中断0:INT0。外部中断1:INT1。串口中断:RI/TI。

2024-03-17 10:49:20 255 1

原创 基于TensorFlow实现手写数字识别

用TensorFlow库实现的多层神经网络训练手写数字图像

2024-03-16 16:55:48 345 1

原创 用stm32f10x实现的车载倒车雷达系统

先是对芯片GPIO参进行时钟使能,然后进行参数配置,最后对该引口设置高电平输出还是低电平输出,因为led灯。使用了val寄存器,类似于51单片机的中断。

2024-03-16 15:13:44 415 2

原创 模电学习笔记(供初学者解惑)

电源放大器靠一个改变磁通量的一个东西(电气运输常见)(加大减小电压),还有整流桥(使电流朝着一个方向走),稳压器和稳压二极管(让电压保持在5v),还有各种电容,(低频滤大噪声,高频滤小噪声),来改变电源。最后也就是看栅极有没有电压来,同时源极漏极电压小不小,这样左边小于右边电压就是截止状态,导不通就是高电阻,Vcc给这边的电压就打,F端的分压就大。P沟道,栅极连接左边的外部电源,与源极产生电位差,大于Vt后,源极接电压,电流从源极流向漏极(通常采用负电源)

2024-03-14 14:00:34 1688 1

原创 数电学习笔记(供初学者解惑)

CMOS管,NMOS管,OC,TTL等等,都是由三极管和MOS管,加上电源电阻二级管组成的三极管,分为左边的基极(信号),上面的发射极(供电),下面的集电极(接地),以及右边最后被放大或缩小的信号但TTL中有种接受端为两个口,处于接地状态,只要有一个是低电压,对面的电流就会反相流过来流入地面,起不到接受端输入高电压的效果左边的信号电压太大,上面的发射极电流就直接导入地面,发射极电流导入右边的就少了,因为不需要,那么这时就是饱和了,基极电流直接大于集电极电流。

2024-03-14 13:14:41 960 1

原创 基础TensorFlow搭建的神经网络实现鸢尾花分类

学了点神经网络,自己用pycharm的鸢尾花数据集弄了个多层神经网络。中间隐含层胡乱的添加,就成了这副鬼样子。-----------》》》学艺不精,还得继续进步。

2024-02-06 23:57:40 256 1

原创 基于java实现的图书管理系统

用java实现的图书管理系统,可以增加,删除,查看,替换。

2024-01-01 23:13:45 413

原创 C语言结构体

/这里用str代替struct + 结构体名//更方便。

2023-12-22 17:02:14 394

原创 C语言指针

/ if(did(a,b,&c)){//这里既能执行函数,又能根据返回值判断分母是不是0,是0则为假,不执行if中的内容。//void swap(int *a,int *b){//这里就是定义两个指针来接受下面主函数中传来的两个变量的地址。//在*p中,p是指针,表示指向一个变量的地址,但*p是具体要赋给这个变量的值(这个务必区分清楚)////cosnt在*前面表示指针不能修改值,但可修改地址,const在*后面表示连地址都不能修改。

2023-12-22 17:01:31 381

原创 C语言字符串

/这时a就是a和b的结合体。// //注意%s是字符串的输出,%c是单个字符的输出。

2023-12-22 17:00:43 418

原创 C语言宏和枚举

/输出结果:50//把x的值2+3替换过去就是(2+3)*10,再替换下来。//输出结果:32//把x的值2+3替换过去就是(2+3*10),再替换下来。//输出结果:32//把a的右值2+3替换过来就是2+3*10。//#define sun2(x) (x*10)//注意宏用define定义时,前面要用#符号。////枚举类似于宏,让某些数字用字符串代替。

2023-12-22 17:00:06 464

原创 C语言函数总结

/比如这个就是方法函数,一般如果这些函数没有写在主函数前面的话,需要在主函数前面声明有这个函数,记得加分号。//int max(int i,int j){//定义两个变量i,j来承载a,b的值。// 方法函数会执行该函数中的内容,返回值函数会在该函数执行完后返回一个值。//在没学指针前,函数通常只有两种,方法函数和返回值函数(个人叫法),////下面就是这个方法的实现,定义一个int len来承载a的值。// //接下来就是执行这个方法函数里面的内容。

2023-12-22 16:59:32 418

原创 练习java不到两年半的个人练习生的对java面向对象的感悟(学java因为被那些标准术语搞懵的同学可以当乐子看看)(毕竟面向对象比较难)

/因为这里girl方法是int类型,用sr对象调用该方法,再输出,就是方法girl中的返回值。//这里是like()方法的重写,如果下面有类调用这个方法,看是在哪个方法或接口中调用的,就用那个方法中的内容。//继承上个类的私有属性,但无法在这个类使用上个类的变量,但可以在构造方法中声明,在主类调用时就可以输入这些所有的变量。public void like(){//对于like()方法的重写,因为源自于接口,所以要用public来确保两者能够接收到。//与类guo中的构造方法类似,重新给a赋值。

2023-12-05 13:21:36 426

空空如也

空空如也

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

TA关注的人

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