- 博客(67)
- 资源 (11)
- 问答 (1)
- 收藏
- 关注
原创 python --- 特殊方法__len__,__getitem__
【代码】python --- 特殊方法__len__,__getitem__
2024-04-02 16:16:06
370
转载 使用west init 下载zephyr失败----unable to access and error setting certificate verify locations
解决west init 下载失败的问题
2022-10-27 16:30:20
298
原创 AVI视频格式分析-封装格式
avi 是视频的一种封装格式,如果的数据可以是多种变化的,音频编码可以是PCM,也可以 是mp3,视频的编码可以是H.26,也可以是MPEG-4
2022-07-18 16:32:28
1002
原创 sizeof引发的假想三:sizeof 与 strlen 一较长与短
直接上代码#include <iostream>#include <string>#include <cstring> int main() { using namespace std; char a[] = "abcdef"; char b[20] = "abcdef"; string s = "abcdefghijk"; cout<<strlen(a)<<endl; cout<<sizeof(a)&
2022-01-22 16:54:22
413
原创 sizeof引发的假想二:怎么样用她
sizeof有两种用法:1:sizeof作用于对象 sizeof object 或者sizeoof(object) 的写法都是正确的; 对象是理解为是分配了一定的内存空间的2:sizeof作用于数据类型 只有sizeof(数据类型)一种写法,如sizeof(int) 数据类型可以是结构体,联合体,基本的数据类型,自定义的类型… 理解为数据的抽象,就是还没有分配内存空间。可以看出加括号永远不会错,像只有带套的男人才是好男人,拒绝渣男...
2022-01-19 10:15:47
273
原创 sizeof引发的假想一:她是什么?
使用sizeof的时候,我们通常会加括号,如sizeof(),这样写,容易引起误解,把sizeof当成一个函数,实际上她一个运算符。不要再被她的外表所迷惑了。
2022-01-18 11:58:17
361
原创 左值与右值(一)
定义:左值:lvalue(locator value)代表一个在内存中占有确定位置的对象(换句话说就是有一个地址)。右值:rvalue通过排他性来定义,每个表达式不是lvalue就是rvalue。因此从上面的lvalue的定义,rvalue是在不在内存中占有确定位置的表达式。int a;a = 8;9 = a; // error(a + 2) = 8;// error 赋值运算符(=)要求一个lvalue作为它的左操作数 ,而常量9与表达式(a + 2)都不是左值。为什么说它们不是左
2022-01-15 14:50:07
251
原创 建议的类对象(C++)初始化方式
class A{int a;char c;public:A();A(int i,char j);~A();}方式一:A A_juck(1,‘j’);方式二:A A_kady = A(2,‘k’);方式一与方式二的行为是一样的,不过对于不同的编译器而言,就会有不同的差别。方式二存在的一种可能就是会创建一个临时变量,然后把临时变量赋值为A_kady,当然也可能不创建,这个取决于编译器。试想一下,如果每次都创建临时变量,这样是不是会增加负担,对于一个类还可以,但是对一个项目有很多很多
2022-01-12 17:46:54
189
原创 内联inline 与 宏#define
1: inline 是C++的特性,#define是C,C++的共用的特性2:inline代码的原始实现是#define,也就是说inline修饰的函数,不是函数的调用,而是函数的替换。3:举例
2022-01-11 15:05:21
331
原创 谈const---C与C++中const的区别
1:在C++中const对默认存储类型有影响。const修饰的全局变量链接性为内部性的,即C++全局const定义就像使用了static说明符一样,这样我们在C++可以在头文件定义const 变量。但是C语言不行,不能在头文件中定义 ,除非使用static修改 否则会报错出现多个定义,C语言中const 修改的全局变量,跟普通的全局变量使用一样,唯一的区别是const变量不能修改值2:C++想要取消const 全局变量的内部性的,变成共享的,可以使用extern修饰来取消链接的内部性,在这种情况下
2021-12-21 11:43:46
428
原创 指针本身占用的大小是4个字节吗?
cout << "Size of pointer type * :" << sizeof(int *) << endl;打印出来的值是不相同的,使用dev-c++工具进行编译编译时选项为:TDM-GCC 4.9.2 64-bit Release结果为:8编译时选项为:TDM-GCC 4.9.2 32-bit Release结果为:4可见指针的大小,跟使用的是多少位的MCU是相关的。...
2021-12-08 10:10:43
317
原创 bash shell变量扩展修饰符
扩展修饰符${var:-word}${var:+word}${var:=word}${var:?word}${var:offset}${var:offset:length}和冒号配合使用时,修饰符(-,+,=,?)检查变量是否尚未赋值或为空。值为空的变量也被认为已设置${var:-word}临时替换默认值,变量已被设置且非空,则word不代入,但是var的原值不变${var:+word}临时替换默认值,变量已被设置且非空,则word代入,但是var的原值不变${v
2021-06-21 19:32:11
219
原创 zephyr os led数据流向分析
1.开发芯片:ATS28512.开发包:2851收发一体开发包3.编译环境:ubuntu4.特别功能:有一拖二功能跟标准的不是完全一样,但是大体上的流程一致
2021-06-03 18:46:17
299
2
原创 git 拉取某一个文件夹,不需要整体拉取整个工程
举例:一个项目中有:XYD5713XYD5716我们需要下载XYD5716 ,只需要按照上面的步骤操作即可1.2.3.4.5.
2021-05-24 15:41:32
2346
原创 Python os模块 常见函数测试
import osdef main(): # try: # # os.mkdir("PythonLearn",0777) # os.mkdir("PythonLearn") # except Exception as ret: # print("目录已经存在:",ret) # try: # os.rmdir("PythonLearn") # print("delete sucess") #
2021-05-21 18:30:05
115
原创 Python批量处理jpg转换为bmp图片,告别手动转换,真爽,
在自己开发项目中使用的图片是bmp.但是你千叮咛,万嘱咐,客户总是给你jpg,png图片.批量处理,从此告别效率低下import osfrom PIL import Imagedef jpgToBmp(): cur_dst_dir = os.getcwd() jpgTOBmp_cnt = 0 try : os.mkdir(cur_dst_dir + "/BMP") except Exception as re: print("BMP
2021-05-19 10:34:31
3037
1
原创 Python 文件目录路径的三种写法
1.os.path.exists(‘D:/test’)2.os.path.exists(r’D:\test’)在python的字符串中\是转义符,如果想让\保持原来的意思,可以加r避免转义。注:r的全称是raw string,即原始字符串常量,可以让字符保持原来的意思。3.os.path.exists(‘D:\\test’)\:是转义字符,所以\要使用\\...
2021-05-18 16:10:52
1630
原创 zephyr os 工作队列
实验环境开发板子:ATS2851开发环境:ubuntu工作队列概念工作队列的关键属性:• 队列:包含若干已经被添加、且还未被处理(译注:在本节后面叫做“挂起的”)工作项。• 线程:用于处理队列中的工作项。该线程的优先级是可配置的,既可以是协作式也可以是抢占式。工作队列必须先初始化再使用。初始化时会清空该队列,并创建一个工作队列线程。工作项的关键属性:• 处理函数:当工作项被处理时,工作队列线程会执行该函数。该函数接收一个参数——工作项自身的地址。• 挂起标志:内核使用该标志表示该工作项
2021-05-12 18:55:12
473
原创 zephyr的上电启动流程分析
zephyr os 上电流程一:开发环境二:上电流程1:__start2._PrepCa:_bss_zero() 清除所有的bss段b: _data_copy()c: _Cstart()3: prepare_multithreading一:开发环境开发板:ATS2851开发环境:ubuntu二:上电流程从系统上电到运行到我们mai之间执行的过程,我们称之为上电启动,这个阶段跟不同的板子有关系,所以我们不分析跟板子相关的操作1:__start__start是从bootloader起来后执行的第
2021-05-07 18:34:56
868
1
原创 收音机RDA5807的音量调节(在炬力平台ATJ2157均匀调节 )
文章目录RDA6807 读写寄存器的方式连续读写方式标准IIC读写方式ATJ2157调节方法相关代码片断RDA6807 读写寄存器的方式连续读写方式连续读写方式的器件地址是0010000B,加上读写标志,即0x20(写操作)和0x21(读操作)。 连续读写的方式不可以直接操作寄存器的地址,只有一个固定的开始寄存器地址,(写0x02H,读0x0AH),内部有一个增量地址计数器。每个寄存器都是16bit的,写寄存器默认从0x02H开始,按字节算,写进去的数据依次为0x02H的高字节,0x02H低字节,
2021-04-24 15:24:02
1739
MP4info,MP4Reader两个工具解析MP4格式的文件
2022-11-08
凌通(Generalplus) GP327XXX数据手册
2022-07-13
凌通(Generalplus)GP327902B 数据手册
2022-07-07
ATJ2157 Datasheet V1.1.pdf
2021-04-24
actions_uart_programming_guide_ATS2851_C11_for_BTMP3_77743f_REL_V1.0.01.pdf
2021-02-27
SCSI指令集
2017-09-09
Part_2_File_System_Specification_V3.00_Final_090416
2017-05-10
Windows Media ASF Viewer 9 Series(ASFinst or ASF View)
2016-12-09
windows中python 进程池上报freeze_support() 错误
2021-05-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人