自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

_OpenRed_的博客

一个幽灵,嵌入的幽灵

  • 博客(66)
  • 收藏
  • 关注

原创 记一次stm32开发的环境搭建过程

stm32环境搭建

2022-10-27 01:16:24 367 1

原创 RTC systick

systick rtc

2022-10-26 16:09:56 444

原创 .gitignore的细节

.gitignore忽略规则

2022-10-25 21:23:30 216

原创 sizeof

sizeof关键字

2022-10-25 21:16:55 415

原创 小米手机抓取蓝牙日志

小米手机抓btsnoop hci log方法更新

2022-08-23 10:43:41 3040 1

原创 关于指针_内存_存储_地址的思考

指针与内存

2022-06-06 16:53:56 50

原创 do{...}while(0)

linux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ... }while(0)这样的代码一看就不是一个循环,do…while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{…}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:1、辅助定义复杂的宏,避免引用的时候出错:2、避免使用goto对程序流进行统一的控制:3、避免空宏引起的warning4、定义一个单独的函数块来实现复杂的操作:[参考资料][1]《do{…}

2022-02-13 19:48:43 161 1

原创 学习记录一个通过压力感应电阻做按键驱动

参考的按键驱动(https://github.com/MGDG/MyKeyDrive)。按键驱动主要做的事情是,定义按键行为和该按键事件,都放到链表中;外部需要做的是按键按下抬起的检测和判定(可以参考github项目:https://github.com/YangBingxi/Pressure-transducer-Based-on-STM32-HX711,“先根据标定重量和AD采样值先进行线性回归获得回归函数后,对AD采样值进行调整”);还要检测按键状态的时机,用定时器中断或者周期性任务。主要的学

2022-02-13 19:44:55 254

原创 宏 UNUSED_PARAM 的作用UNUSED_PARAM(v)

该宏的定义如下:#ifndef UNUSED_PARAM #define UNUSED_PARAM(v) (void)(v) #endif假如一个有返回值的函数如调用时是没有使用它的返回值,编译器会给出一个警告如果用void强制转换一下,则明确告诉编译器不使用返回值也就是为了消除警告也即是防止未使用的变量在编译时产生warning知乎上有个比较深入的解释,记录如下:摘抄C 语言语法分析时的执行性语句大致分为两类:求值 (evaluation)控制流 (control flow)

2022-02-13 18:48:43 1046

原创 C语言格式化输入输出的不同数据类型的%的定义

当和指针在一起时,就要考虑考虑,打印出来的是这个地址的地址值,还是这个地址所指向的那块内存区域的值,还是个字符串,或者说是是函数指针的指针???%d整型输出,%ld长整型输出,%o以八进制数形式输出整数,%x以十六进制数形式输出整数,%u以十进制数输出unsigned型数据(无符号数)。%c用来输出一个字符,%s用来输出一个字符串,%f用来输出实数,以小数形式输出,(备注:浮点数是不能定义如的精度的,所以“%6.2f”这种写法是“错误的”!!!)%e以指数形式输出实数,%g根据大小自动选f

2022-02-13 18:40:45 1621

原创 GNU C 的一大特色就是__attribute__ 机制

转载文章《C语言__attribute__的使用》(https://blog.csdn.net/qlexcel/article/details/92656797)遇到过的__attribute__类型:1,《gcc attribute weak & alias应用》(https://blog.csdn.net/hengshan/article/details/38725971)2,《C 编译器相关 attribute((packed))详解》(https://blog.csdn.net/sk

2022-02-13 18:06:27 440

原创 ARM中的字、半字、字节是多少位

总结:字节永远都是8bit,字的大小依赖于平台(可以通过sizeof()函数进行查看),但是可以确定的是,字是多少位,半字永远是字的一半,双字永远是字的2倍大小一、对于嵌入式底层开发人员字(Word):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。半字(Half-Word):在ARM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。字节(Byte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位。ARM

2022-02-10 20:16:16 2506

原创 C语言 内联函数 关键字inline

内联函数: 在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。

2022-02-08 21:01:50 668

原创 Linux命令

查找结果去重目标项替换文本分析参见《linux ps grep查找去重,运维linux命令》(https://blog.csdn.net/weixin_42356292/article/details/116991390)有之前没有接触过的(1)sort 对标准内容排序(2)uniq 相邻且相同的内容去重(3)parallel美: [ˈperəˌlel]英: [ˈpærəlel]adj. 平行(的);极相似的;同时发生的;相应的v. 与…相似;与…同时发生;与…媲美;比得上n

2022-01-19 13:57:36 577

原创 【Windows批处理】bat脚本

《Windows 批处理(bat)语法大全》(https://blog.csdn.net/qq_36838191/article/details/83046599)

2022-01-19 11:12:02 199

原创 实时操作系统 rhino

摘要: rhino posix项目在aos上实现,稍微了解下即可。最初在看的时候,比较疑惑rhino和POSIX都是啥,经过查找,最方便的还是先去看Alios的官方项目wiki,有如下信息,Kernel: 包括Rhino RTOS 内核,VFS,KV Storage,CLI,C++ 等Alios是一个实时 操作系统,而rhino是其内核代码,了解rhino内核可以看这篇进程管理相关的文章《alios-things 任务管理一》(https://blog.csdn.net/weixin_401

2022-01-19 11:01:22 761

原创 蓝牙 MSB LSB

蓝牙 MSB LSB

2022-01-18 20:25:46 771

原创 GCC编译

编译器 调试 GCC GDB

2022-01-18 19:04:24 174

原创 keil系列 魔法棒(目标选项)配置、编译工具ARMCC

1,keil 对话框的配置《KEIL工程目标选项配置》(https://blog.csdn.net/jdsnpgxj/article/details/78792989)2,ARMCC的编译稍深入2.1,《keil编译链接过程以及ARMCC、ARMASM、FROMELF、ARMLINK、ARMAR的使用》(https://www.cnblogs.com/zhangsx/p/zhangsx_keil_tools_usage.html)2.2 编译参数《基于makefile的STM32编译方法探索

2022-01-17 10:02:47 1308

原创 记录一次编译的过程

在Windows上实现通过armcc来编译arm m4代码生成特定C语言源文件的lib库参考资料的地址:对git库的文件进行的操作指定类型文件的删除和恢复,需要用到find指令和git命令$ find -name "*.c" | xargs rmfind,grep,args,sed正则 配合使用find ./ -type f -name "*.log" | xargs grep "test-test-test"find . -type f -exec grep -l "303i" {} \^

2022-01-15 21:32:12 270

原创 总线 AHPB

知乎上的一篇关于AHPB的文章《AHB与APB总线你需要知道的事儿》(https://zhuanlan.zhihu.com/p/157808097)

2022-01-12 20:57:50 300

原创 C 编译器相关 __attribute__((packed))详解

attribute((packed))详解参考链接:(http://blog.chinaunix.net/uid-25768133-id-3485479.html)1, attribute ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如:在TC下:struct my{ char

2022-01-12 20:47:05 1023

原创 C printf格式化输入输出 %lu

printf格式化输入输出参考链接:《C学习笔记(四)格式化输入输出》(https://www.cnblogs.com/hahazexia/archive/2013/04/10/3011592.html)使用 printf() 与 %c 格式化输出单个字符,#include <stdio.h> int main() { char c; // 声明 char 变量 c = 'A'; // 定义 char 变量 printf("c

2022-01-08 20:45:50 3637

原创 C 循环体

while(condition){ statement(s);}do{ statement(s);}while( condition );for ( init; condition; increment ){ statement(s);}

2022-01-08 20:45:24 317

原创 ASCII码

ASCII码一览表(http://c.biancheng.net/c/ascii/)ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是一套基于拉丁字母的字符编码,共收录了 128 个字符,用一个字节就可以存储,它等同于国际标准 ISO/IEC 646。ASCII 规范于 1967 年第一次发布,最后一次更新是在 1986 年,它包含了 33 个控制字符(具有某些特殊功能但是无法显示的字符)和 95 个可显示字符。

2022-01-08 19:07:50 118

原创 C 指针 数组 字符(串)

首先看下C中的字符串是怎么定义的在 C 语言中,字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个 RUNOOB 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 RUNOOB 的字符数多一个。char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};依据数组初始化规则,您可以把上面的语句写成以下语句:char site[] = "

2022-01-08 17:39:34 1848

原创 C sizeof()

sizeo()

2022-01-08 16:27:13 416

原创 个人小站链接

《Joystyle》(https://joys.name/travel)

2022-01-06 10:58:38 107

原创 嵌入式C语言开发

这是我的第一篇对ARM有有疑问并展开调查的文档总结,以备之后查阅。首先的疑惑是发现之前的源码中都是在对寄存器做操作,所以对寄存器的地址是怎么被确定的就很疑惑。搜索引擎关键词:嵌入式 寄存器 基地址 使用参考《嵌入式15——HAL 库中寄存器地址名称映射分析》(https://zhuanlan.zhihu.com/p/91331682),可以看到这个地址是跟字长、总线相关的。然后参考《嵌入式C语言开发—存储器与寄存器》(https://blog.csdn.net/weixin_30439067/ar

2022-01-06 10:50:13 1922

原创 嵌入式的寄存器操作

文章参考《嵌入式寄存器操作-----C语言位操作的学习》(https://blog.csdn.net/zeroubuntu/article/details/19617871)。通过一个按键的实例来看嵌入式中的位操作。转载如下:a |= 1<<x //第x位写1a &=~(1<<x) //第x位写0(a &(1<<x)) == (1<<x) //判断1,等号左边括号不能省略(a& (1

2022-01-05 15:34:19 1377

原创 EMMC介绍

《eMMC(一)——基本架构》https://blog.csdn.net/wangguchao/article/details/102859553

2022-01-05 14:48:56 324

原创 在线数值计算 wolframalpha

网址https://www.wolframalpha.com/有关这个Alpha的介绍可参考少数派网站上的一篇文章(https://sspai.com/post/26663#!)这里的关键词是“wolfram”,它和数学计算软件(Matlab、Mathematica)等的区别可以参考这篇CSDN文章:《数学计算软件(Matlab、Mathematica)网页版》(https://blog.csdn.net/dreamer2020/article/details/25168807)还是发现了几个

2022-01-05 14:42:24 1199

原创 蓝牙的一些基础知识

蓝牙基础知识 PPM

2022-01-05 14:25:26 522

原创 关键字C/C++中extern关键字详解

https://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html

2021-12-13 13:55:01 497

原创 C语言-取地址符 引用 解引用 数组 指针 牵扯到的运算 左移 右移 二级制域算法

C++ 中的&:“&引用” 和“&取地址符”的区别和作用参考[https://blog.csdn.net/qq_33266987/article/details/52047473]计算机基础 - 左移、右移和计算逻辑[https://blog.csdn.net/u012627861/article/details/89378580]从BCH code[https://zhuanlan.zhihu.com/p/95909150]看到了二进制域的运算参考[https://www

2021-12-11 16:12:48 263

原创 嵌入式中的 *(volatile unsigned int *)理解

volatile 无定型的理解参考[https://blog.csdn.net/czg13548930186/article/details/52454032]以及关键字 const static

2021-12-11 16:06:54 407

原创 C 库函数 - snprintf()

C 标准库 - <stdio.h>声明下面是 snprintf() 函数的声明。int snprintf ( char * str, size_t size, const char * format, … );参数str – 目标字符串。size – 拷贝字节数(Bytes)。format – 格式化成字符串。… – 可变参数。返回值(1) 如果格式化后的字符串长度小于等于 size,则会把字符串全部复制到 str 中,并给其后添加一个字符串结束符 \0;(2) 如果格式化

2021-12-11 16:02:03 566

原创 Keil L6220E:execution region shram00_exec size exceeds limit

该错误是超过设置好的存储大小了,导致编译完后放进去存储设备中。有几种调整方法使得代码编译通过,如下,使用keil魔法棒直接改默认的存储值,参考链接[https://blog.csdn.net/qq_22146161/article/details/106715433],属于脚痛医脚的做法,还有一种修改内存配置文件(.sct),看起来更靠谱些,参考链接[奉加微PHY6212内存不足的决绝办法(http://www.zyiz.net/tech/detail-256759.html)],先看芯片的内存分布,

2021-12-11 15:24:01 601

原创 python运行

http://c.biancheng.net/view/7032.htmlpython demo.py

2021-12-11 15:10:56 20892

原创 memset函数

http://c.biancheng.net/view/231.html#:~:text=memset%20%28%29,%E7%9A%84%E4%BD%9C%E7%94%A8%E6%98%AF%E5%9C%A8%E4%B8%80%E6%AE%B5%E5%86%85%E5%AD%98%E5%9D%97%E4%B8%AD%E5%A1%AB%E5%85%85%E6%9F%90%E4%B8%AA%E7%BB%99%E5%AE%9A%E7%9A%84%E5%80%BC%E3%80%82%20%E5%9B%A0%E4

2021-12-11 15:05:51 11925

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除