- 博客(4)
- 收藏
- 关注
原创 2020-10-17
Cortex M处理器休眠指令行为详解: 在嵌入式开发中,经常会用到wfi或wfe让处理器进入休眠模式,等待中断唤醒,既可以节约功耗,也能避免处理器抢占系统带宽,降低数据传输的效率,这里详细分析一下这两条指令的具体行为以及使用的场景 ARM特殊寄存器以及指令: PRIMASK 寄存器:写1时,屏蔽掉除了NMI和Hard fault之外的所有中断。如果有外部中断,则将中断挂起,而不会执行。写0时,取消掉屏蔽效果。效果和 cpsid i 和 cpsie i 一样 mov r0, #1 msr PRIMASK,
2020-10-17 13:51:23 1366 1
原创 C语言中可变参数函数的实现
C语言中可变参数的实现 C语言的可变参数实现需要使用头文件stdarg.h,在该头文件中定义了一个变量类型va_list和三个宏va_start、va_arg、va_end(),下面将在代码中讲解这几个宏的使用方法。 //以一个MyPrintf()的实现为例 int MyPrintf(char* str,...){ // 可变参数的声明要放在形参最后,用...来表示 va_list ap; // 创建va_list类型的变量ap,准备用来接收可变参数-->第一步 va_start(ap
2020-06-03 13:44:22 681
原创 linux下获取不同精度的时间
linux下获取不同精度的时间的办法 经常需要获取系统时间以作为生成随机数的种子,因此总结了三种获取不同精度的系统时间的方法 time(秒级) /* time_t time(time_t* tloc); tloc: 传出参数,如果不为空的话,返回的时间还会存储在tloc里 */ #include <time.h> time(NULL); //返回当前时间距1970-01...
2020-05-08 01:33:53 304
原创 常用C/C++输入语句小结
scanf和cin实现的功能是从输入缓冲区读取字节,并以空格、Tab、回车作为读取的结束符号,因此如果输入串中包含空格的话就不能使用 列举几个常用的输入函数 C标准库 // C标准IO getchar(void) //读取单个字符 gets(char *s) //读取字符串 cin 结束符:enter、tab、space 处理方法:舍弃结束符,继续下一次输入 c...
2020-03-31 19:47:19 968
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人