- 博客(21)
- 问答 (1)
- 收藏
- 关注
原创 GD32V 优化中遇到的问题
在我优化代码时,代码二的耗时是代码一的十几倍,原因是 在gd32v上 除法的耗时是乘法的几十倍。众所周知 中断中不能耗时太长,linux 为了处理这个问题特意引入了中断上下文,但是我又栽倒在这里了。
2023-11-02 16:03:45
68
原创 git-github 实现
git是一个分布式的版本控制软件git官方安装文档说明网址要保留之前的工作记录和版本,方便回滚和修改,占内存小,廉价的本地库等,可以团队协作之前我的版本管理方式毕业论文.doc毕业论文改1.doc毕业论文改2.doc毕业论文完成版.doc毕业论文最终版.doc毕业论文最最终版.doc毕业论文绝对不改版1.doc毕业论文绝对不改版2.doc毕业论文打死不改版.doc遗书.doc。
2023-08-07 09:43:41
116
原创 看门狗分析
看门狗**(WatchDog)**,全称WatchDog Timer,即看门狗计时器。更形象的说明就是看家的恶犬,和在睡觉的主人,睡觉的主人定时起床给给恶犬喂食,恶犬在吃饱后就心满意足的睡觉,主人也可以去睡觉,如果主人没有按时投喂肉包子给恶犬,恶犬就咬死主人,主人只能复活,然而复活后也要按时给恶犬喂肉包子。不然又要被咬死。。。。喂狗的时间不能过早也不能过晚。 窗口看门狗的上窗口就是配置寄存器WWDG->CFR里设定的W[6:0];下窗口是固定的0x40;
2023-06-30 16:22:09
699
原创 记录calloc 出的笑话
calloc 和 malloc 的不同,在于calloc开辟的空间会先进性清零操作。项目的AT指令解析部分,使用calloc 开辟空间保存拆分后的命令,详情见代码typedef struct g_pointer{ uint16_t len; uint8_t * buff;}s_pointer;s_pointer state_pointer[UART_COMMAND_NUMBER]; while( token != NULL ) {
2021-10-15 08:58:21
79
转载 callback 个人理解
很多朋友可能会想,为什么不像普通函数调用那样,在回调的地方直接写函数的名字呢?这样不也可以吗?为什么非得用回调函数呢?有这个想法很好,因为在网上看到解析回调函数的很多例子,其实完全可以用普通函数调用来实现的。要回答这个问题,我们先来了解一下回到函数的好处和作用,那就是解耦,对,就是这么简单的答案,就是因为这个特点,普通函数代替不了回调函数。所以,在我眼里,这才是回调函数最大的特点。来看看维基百科上面我觉得画得很好的一张图片。下面以一段不完整的 C 语言代码来呈现上图的意思:实例#include<
2021-09-14 19:00:33
388
原创 专业英语笔记
advanced 先进的,高级的aligned mode 对齐模式aligned 对齐的abstraction 抽象backward 向后的 forward 向前的behavior 行为,态度compensate 补偿compass 指南针,罗盘chapter 章节,章common 共同的,常见的coines 硬币cursor 光标calbration 校准current 当前
2021-08-31 14:04:35
276
原创 结构体赋值遇到的问题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、结构体赋值方法?二、使用步骤1.懵逼代码2.仔细看结构体名总结前言结构体的赋值懵逼了一、结构体赋值方法?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.懵逼代码我cao这是什么赋值方法,数据类型呢,没看到东西对自己很无语:static const struct bt_mesh_comp mesh_comp = { .cid = 0x01A8
2021-07-07 18:38:36
468
原创 phy6212调试
项目场景:ble调试的记录:项目场景:调试蓝牙芯片phy6212问题描述:问题:1.这款芯片的开发步骤是怎样的?@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget(); } 原因分析:提示:这里填写问题
2021-06-09 08:32:39
1383
原创 nan的问题
icm20689遇到了nan的问题1.先搜索了为什么会出现nan ,2.找到自己代码中出现nan的位置,3.将出错的位置除去nanisnan(double),问题依旧4.结果发现,是i2c通信的失败导致了数据一直为05.(个人感觉icm 的i2c有些问题。。。。。)...
2021-06-08 18:52:06
103
原创 C语言琐碎的问题
1. 怎样声明和定义全局变量和函数最好一个全局变量或者函数可以在多个编译单元中有多处声明,但是定义只允许出现一次。最好的安排是在某个相关的.c文件中定义,在.h文件中进行外部声明,在需要的时候进行只需要包含对应的.h文件就行。这样的好处是提高了高度的可移植性。2. 头文件(.h)到底应该放什么宏定义(预处理 #define)结构体、联合体、枚举等声明typedef 声明 (typedef unsigned char uint8_t;)外部函数声明(extern)全局变量声明当声明和定义
2020-07-31 14:20:38
190
原创 C语言变量的属性
变量的属性有五种:(1)名字(必须显示说明)(2)类型 (必须显示说明)(3)存储类别 (缺省方式或显示说明(使用:auto、register、static、extren))(4)作用域 (由存储类别决定)(5)生存期 (由存储类别决定)变量的存储类别定义:指系统对变量存储方式的规定。分类:由存储方式的不同分为两类:(1)静态存储方式:指在程序运行期间,系统对变量固定地分配存储空间。即一旦分配,不在变化,直到整个程序运行结束。(2)动态存储方式:指在程序运行期间,系统对变量动态地分配
2020-07-31 10:17:55
2542
转载 内存映射
目标文件各个段在文件中的布局如下:各个段介绍:init段:程序初始化入口代码,在main() 之前运行。bss段:BSS段属于静态内存分配。通常是指用来存放程序中未初始化的全局变量和未初始化的局部静态变量。未初始化的全局变量和未初始化的局部静态变量默认值是0,本来这些变量也可以放到data段的,但是因为他们都是0,所以为他们在data段分配空间并且存放数据0是没有必要的。(目的就是为了节省磁盘内存空间)程序在运行时,才会给BSS段里面的变量分配内存空间。在目标文件(*.o)和可执行文件中,BS
2020-07-30 17:21:43
238
原创 自己的架构学习
嵌入式学习笔记每周更新一次,本周学习内容,千万不要偷懒哦!架构**微处理器指令集架构** 1.复杂指令集 (CISC,complex instruction set computer) 通过一些复杂的指令把一些原来由软件实现的常用的功能改用硬件的指令系统完成,以此来提高计算机的执行速度。 2.精简指令集 (RISC,reduced instruction set computer) 通过简化计算机的指令功能,使指令的执行平均周期变少,从高提高计算机的工作主频 特点: 1.
2020-07-29 18:31:38
190
原创 说说嵌入式重用性中的static
static 用法之一,构件开发为什么使用static ,static 声明的函数只允许在本文件下使用,所以static 定义的一定不能被其他文件使用,增加了软件的可靠性。
2020-07-20 08:35:51
206
原创 链表、队列的一些问题?
不成功的定义一些链表typedef struct { unsigned charlen; unsignde char group; unsigned char set; unsignde char get; NODEPTR next; // 这里的NODEPTR在声明指针时还未定义, char *data[];} *NODEPTR;struct node { ...
2020-06-02 10:12:49
128
原创 如何用printf实现可变的域宽度?
如何用printf实现可变的域宽度printf("%-2d \n",x);printf("%*d \n",width,x);
2020-06-02 09:55:25
482
原创 malloc 的bug操作
if(p != NULL) { setX = p->data[0]; setY = p->data[1]; for(i = 0; i < p->len - 2; i++){ if((setY > 16) || (setX > 8)){ return; } show(setX ,setY++ ,p->da...
2020-05-11 09:25:29
166
空空如也
六轴计算欧拉角的问题
2021-06-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人