内联失败时触发自引用错误的问题,在看下面这个视频时了解到的相关信息。Rust 异步编程 async await 原理,自引用举例踩坑说明_哔哩哔哩_bilibili总结函数调用时数据在栈上,在值内部引用了自己,在返回函数后值被弹出栈,引用的数据也就不存在了导致panic。为什么扯到内联,是因为之前一直以为加上 inline 属性后就会内联,实际是不确定的。 Inlining 内联 Entry to and exit from hot, uninlined functions often accounts for a non-trivial fraction of exec Read More
分类: 技术
鱼缸远程、定时投饵
接线: sg90 信号端 接到单片机的io9上,正极接5v 负接gnd。 mqtt 服务: 程序中配置需要 mqtt 连接、端口、认证用户名与密码,可以在emqx 平台申请。 EMQX:用于物联网、车联网和工业物联网的企业级 MQTT 平台 在emqx 平台注册用户并创建一个 serverless 服务,免费额度很充足自己用肯定用不完,查看mqtt 连接信息中的链接地址与mqtt 端口。 在客户端认证中创建用户。 至此需要用到的参数都已经得到。 单片机烧录: pwmduoji/main .lua 是单片机程序,需要修改如下变量的值: 下载需要用到合宙的 luatools 工具,下载地 Read More
milk-v duo 开机引导进入 rust 程序
milk-v duo 还是去年买的,又是esp32 又是rp2040 的,搞搞lcd 又搞搞墨水屏 又弄弄 memory lcd,乱得狠,啥都想玩玩,玩不过来,最近抽空看看 这块duo 想裸机跑下rust 试试。 找了一圈总算是有些眉目,找到一些在 uboot 或 opensbi 后引导的方法,随即尝试了一下,成功通过串口打印出信息,记录一下。 主要两个部分,先用rust 加汇编构建出程序的bin文件,后在 duo-buildroot-sdk 中修改fsbl 中的构建 fip.bin 的.mk文件后 再构建fip.bin 。 目录 通过 rust + 汇编 创建自己的程序 修改 du Read More
解决 win11 打不开日历 与 通知
这是之前的笔记,分享一下,希望可以帮到有同样问题的朋友。 可以先用 dism++ 工具设置试试,不行再修改注册表。 网上乱七八糟的都是dism++设置和进系统设置,卵用没有,按下面方法修改注册表后重启就可以了 注册表设置 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer\DisableNotificationCenter HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Explorer\DisableNotificationCenter 将这两项设置为0. Read More
基于rp-pico 设计的MakeCode arcade 图形编程游戏机
前段时间用rp-pico做了一个 MakeCode arcade 感觉用起来还不错,关键是很便宜,如果有编程经验的家长也想给小孩一个编程游戏机可以做一个试试,当然自己玩也挺不错的,下面是硬件的地址,我也不是很会画板,比较水,凑合能用,可以自己再改改,按页面的介绍烧录。 rp2040_arcade – 立创开源硬件平台 MakeCode Arcade 的介绍: MakeCode Arcade 是微软推出的一个在线编程平台,旨在帮助用户通过图形化编程和文本编程创建简单的2D游戏。它特别适合编程初学者和青少年,能够让他们通过直观的拖拽式界面,快速设计 Read More
php 信息脱敏方法
之前做项目需要信息脱敏做的一个处理方法,可以定义首尾及中间显示星号数量
probe-rs 安装与配置及问题解决
大概步骤按 probe-rs 官网的教程走即可。 前提:在wsl2 中使用usb 需要通过 usbipd-win 这个工具,需要先确保这个工具能正常连通,在linux 中能看到对应的usb文件 wsl 中安装 probe-rs , 有多种方法,我是通过 cargo binstall probe-rs-tools 安装的,如果没有binstall 先通过 cargo install cargo-binstall 安装 vscode 安装 probe-rs 插件 ,并配置 调试启动 文件 注意chip、 formatOptions 和programBinary 的配置 启动调试时可能提示如下错误: Read More
驱动夏普1.26寸 memory lcd
买了几块 夏普的1.26寸 memory lcd 型号为 LS013B7DH07,这种屏幕显示有点像墨水屏,只是白色不是那纯有点偏银灰的感觉,比普通墨水屏刷新快很多,在不刷新的情况下墨水屏显示更好,需要频繁刷新的情况下memory lcd 是更好的选择。 这个屏的驱动方式与常见的一根cd命令数据线来控制传输命令或数据的方式不同,它是在cs拉高后开始的前几个固定时钟周期内为命令,命令后再跟着传数据。常用的两个就是清屏与整屏刷新,下面就引脚定义与这两个操作记录一下。 引脚如上图, vdda 、vdd 接3.3v, vss、vssa 接地,sclk 时钟信号、si 即 mosi 串口数据,scs 为 Read More
封装与抽象
程序的架构最重要的就是封装与抽象,在实际开发经验中得到的总结就是程序会不停的变化 ,但变化的内容点又比较固定,容易变化的地方一般就那几个地方。 抽象就是对具有相似的功能代码进行抽取,提高代码的重用性和易修改性,共用性的修改只需要修改同一个地方,非共用性的修改又相互独立互不影响。 封装就是将对某一功能或职责划分后相互独立的为一个整体,避免不同功能的逻辑揉和在一起,混乱不易于维护,不能快速的理解代码功能。 代码就是能清晰明了,且容易修改就是好的。
homestead 配置
1.网络 homestead中默认设置的ip为私有网络不能访问外网,如果需要访问外网可以加入桥接, homestead.yml 文件中加入如下配置 ,其中bridge 设置为网络名称,在系统网络适配中找到可以正常上网的 ,ip为bridge 适配器对应网段: networks: – type: public_network ip: “192.168.31.80” bridge: “Intel(R) Dual Band Wireless-AC 8265” 2.数据库 vagrant destory 后数据库会被一同清除,保留数据可以使用 Read More
用户今天 : 11
用户昨天 : 26
用户最近的7天 : 140
用户最近的30天 : 770
用户这个月 : 674
用户这一年 : 2834
合计用户 : 9503
查看今天 : 20
查看昨天 : 28
查看最近7天 : 183
查看最近30天的 : 909
查看这个月 : 755
查看这一年 : 3607
合计查看 : 11771
谁是在线的 : 0