
经验
工作或生活遇到的问题
R1CHIE_L
这个作者很懒,什么都没留下…
展开
-
使用WSL时 “系统找不到指定的文件”(ConfigureNetworking/ERROR_FILE_NOT_FOUND)
如果你的电脑里曾经安装过VMware Player,并且和我一样只是把此应用的文件夹简单复制到别的目录,那么,此时你去卸载VMware Player一定提示某个盘,比如,F:无效驱动 ,解决办法就是你可以新增一个相同的盘符,并重新打开VMware Player安装包,就能正常安装,之后就可以正常地用。,降回version 1后就能正常安装Ubuntu-16.04了。转换版本,成功,然后替换掉ext4.vhdx,原本的环境和文件就回来了。发现Ubuntu-16.04 wsl的version是1,那么我使用。原创 2023-06-19 19:31:21 · 5740 阅读 · 2 评论 -
GPRS模块/4G开发过程
我用的是一个4G模块,也同时兼容2g,3g,可以通过AT命令来修改。从官方提供的文档上看,开机是拉低某个引脚最大两秒,关机是拉低是持续三到四秒,注意,关机拉低三秒之后,还需要等待8秒才能完成关机。我建议程序里的第一步不是开机,而是先执行一次关机再开机。 这次项目使用的是TCP连接,官方文档有详细的流程,初始化过程还是非常简单的。 发送数据官方提供了两种AT命令,第一种是发送原...原创 2019-08-08 16:24:00 · 501 阅读 · 0 评论 -
关于低功耗
最近在做一个项目,其中有一个功能是要实现低功耗的,低功耗是第一次做,途中出现不少问题,和硬件工程师商量了很久,从19mA ->10mA -> 4.44mA -> 0.54mA -> 0.110mA 。虽然到了uA级别,但是我还是觉得功耗有点高,无奈这款51单片机也就只能降到这么低了。 过程中还是明白了不少东西。 1. 低功耗下不需要用到的IO要拉低。...原创 2019-07-24 10:25:00 · 155 阅读 · 0 评论 -
什么时候该用裸机?什么时候该用RTOS?
今天在某QQ群里看到有人讨论这个问题,正巧我也仔细想了一下。以下是我对这个问题的看法1.RTOS的RT这词就是实时的意思,网上很多归纳总结都说RTOS要用在实时性很高的项目,怎么才算是实时性高呢?假设我们裸机有下面这个段程序int main(){ sys_init(); while(1) { 远程数据处...原创 2020-06-28 09:41:00 · 984 阅读 · 0 评论 -
关于掉电数据保存的心得
在掉电保存数据时会有一定的风险,数据在保存时可能会有干扰,因此对于这一块处理一定要小心谨慎。 以下是我的方法: 1.每隔一段时间,保存数据,我们把这个保存数据的地方称位"数据区1". 2.当发生掉电的时候,我们不能把数据存放在"数据区1",而是另外的开一块内存,这个内存我们叫”数据区2“。 我们将设备上电时,应该最先去判断“数据区2”数据的准确性,如果数据正常,则从“...原创 2019-12-18 09:06:00 · 1477 阅读 · 0 评论 -
一个教训
毕业到现在第一个公司的项目,我认为自己做的不够好,最严重的问题在于取变量这个问题上,一些标志位的名称过于模糊,过了好几个月后可能会忘记某个标志位的作用,下次应该用结构体来对这些变量进行封装,比如,某个标志位是关于红外的,应该为红外构建一个结构体,把标志位作为结构体的成员。变量的取名,英文不太好,可以使用https://unbug.github.io/codelf/...原创 2019-11-18 11:41:00 · 86 阅读 · 0 评论 -
远程升级程序过程
前言:在很多消费电子设备中,都有远程升级的功能,它的优点能给设备增加新功能,以及以新增新功能为理由的修复bug。框架:一个有远程升级的设备有两个程序,一个是bootloader,另一个是设备程序。bootloader自然是引导程序,它的作用是启动哪一个程序。bootloader一般是处于内存的开始的地址,即设备启动就会去运行它。升级包:用keil把程序编译为一个bin文件,然...原创 2020-12-06 16:14:00 · 1832 阅读 · 0 评论 -
找某个Linux内核可能调用的文件
我想找内核中imx6ull的i2c总线驱动文件,但我在/drivers/i2c/busses下面找到了两个驱动文件,不确定是哪一个,该怎么办?其实可以看驱动文件里面的of_match_table和设备树的有没有对应,有的话就基本是这个文件了。除了这个还有没有其它方法。可以文件里使用printk打印一些数据,比如:printk("I2C is coming here !!!!!!!!!...原创 2020-11-30 22:12:00 · 93 阅读 · 0 评论 -
协议里面接收多个不定长数据方法
如果需要一条协议来接收多个数据的话,可以这么做:DataHead len1(数据长度1) data1 len2(数据长度2) data2 ....... 校验位 DataTail程序中可以通过判断,知道数据1的长度,即可获取数据1,紧接着就是数据2的长度,以此类推...........原创 2020-10-24 15:12:00 · 249 阅读 · 0 评论 -
make menuconfig出现乱码
1.安装库:sudo apt-get install libncurses5-dev libncursesw5-dev2. 执行:make clean原创 2021-01-13 08:57:00 · 407 阅读 · 0 评论