写给自己的备忘笔记
- 学习随记
- keil使用技巧
- c语言知识:
- Printf输出双引号和十六进制数
- 如何改变文本的样式
- MPU6050学习:
- SD卡
- Strlen计算字符长度:
- 高效率代码学习:(sim800发送和指令解析)
- 0X1A是什么
- 通过判断接收连续2个字符之间的时间差不大于10ms来决定是不是一次连续的数据.
- 缓冲区清除(memset)
- DMA串口接收(要加延时)
- ★ 从缓冲区内查找是否包含命令(strstr)
- printf映射到多个串口(hal库)
- 使用串口接收并区别指令的新方法(固定的几条指令>>ASCII值)![在这里插入图片描述](https://img-blog.csdnimg.cn/db60a30cd11541f581ef87f230aa2d2b.png)
- OLED显示格式(注解)
- 创建一个自定义列表
- 如何创建一个注脚
- 注释也是必不可少的
- KaTeX数学公式
- 新的甘特图功能,丰富你的文章
- UML 图表
- FLowchart流程图
- 导出与导入
学习随记
为了让学过的知识不被丢弃,记个博客常复习
keil使用技巧
按住ALT左键拖动,对齐显示
c语言知识:
strlen字符串长度
计算给定字符串的(unsigned int型)长度,不包括’\0’在内
e.g:
uint8_n temp[]={“hello”};
strlen(temp);
sprintf数据转换
★ strchr 查找字符
https://www.bilibili.com/video/BV1iT4y1c72H?from=search&seid=16290288931706959885&spm_id_from=333.337.0.0
从第一次出现被查找字符开始,到\0 结束
注意:
一个汉字占两个字节,如果想用 strchr 汉字需要用 “”
★ ststr 查找字符串
https://www.bilibili.com/video/BV1iT4y1c72H?from=search&seid=16290288931706959885&spm_id_from=333.337.0.0
ASCII码表
单&&和&的区别
&: 两个数字 位操作 AND。或者取某个变量的地址,或声明引用。 对 bit:(0 & x ) = 0; ( 1 & x ) = x;&&:两个 bool 值的“并且”。( false && x ) = false; (true && x)= x;|:两个数字 位操作 OR。对 bit: ( 0 | x ) = x; ( 1 | x ) = 1;||:两个bool 值的“或”。( true || x ) = true; ( false || x ) = x;----a = !!a;(a && b) = !(!a || !b);!(a && b) = (!a || !b);(a || b) = !(!a && !b);!(a || b) = (!a && !b);
Printf输出双引号和十六进制数
要输出2个字节的16进制数,可以在printf中使用%02x或者%02X格式,同时将值转为unsigned char型。
一、printf为格式化输出函数,可以将变量以各种格式化方式输出。
二、格式化输出16进制的格式字符串为%x或%X。
当输出的16进制数带有字母a~f时,两种格式字符串输出结果会有区别:
1、%x格式,那么输出的是小写的a~f;
2、%X格式,那么输出的是大写的A~F.
三、要固定输出两个字节,可以使用%02x或者%02X,其中02的意思是,输出2个字节,不足补0. 不过如果实际值超过2字节,这个就会输出实际值了。
所以要绝对输出2字节,需要将数值转为unsigned char型,保证输出不会超过。
即将n以2字节16进制输出,写作:
printf("%02x",(unsigned char)n);
使用USART_SendData();实现十六进制的发送
如何改变文本的样式
- 输出双引号
可以用转义序列,反斜杠**""后面的一个字符原样输出。**
例如:
#include <stdio.h>
void main()
{
printf("“小强”");//控制台输出:“小强”
}
MPU6050学习:
(以小马哥F103四轴例程为例)
- 软件命令重启系统(隐藏技能):
- MPU6050初始化函数(重要)
默认状态时,mpu6050初始化需要平放,并且静止转态使8s更新一次位置数据
将这一句加入后,mpu6050初始化可以不平放,以斜的位置作为初始位置
SD卡
Strlen计算字符长度:
高效率代码学习:(sim800发送和指令解析)
0X1A是什么
通过判断接收连续2个字符之间的时间差不大于10ms来决定是不是一次连续的数据.
缓冲区清除(memset)
memset将某一块内存中的内容全部设置为指定的值(给缓冲区清除)
DMA串口接收(要加延时)
★ 从缓冲区内查找是否包含命令(strstr)
strstr是C语言中的函数,作用是返回字符串中首次出现子串的地址。
printf映射到多个串口(hal库)
使用串口接收并区别指令的新方法(固定的几条指令>>ASCII值)
串口接收到的指令不同,缓冲区的ASCII的值也不同,通过不同的ASCII值区分不同的指令
OLED显示格式(注解)
Y:对应一行(一一对应)
LEN:会影响数据的起始位置
SIZE:字体大小,会影响数据的起始位置
注意:num的类型为u32 》》%d 其他的数据类型不能完整显示
void LCD_FloatShow (u16 x,u16 y,float num,uint8_t size) //浮点数显示
{
char temp[10];
sprintf((char )temp,"%0.2f",num);
OLED_ShowString(x,y,temp,(size/2strlen(temp)));
}
创建一个自定义列表
-
Markdown
- Text-to- HTML conversion tool Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。1
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ↩︎