语言
黑刀夜
嵌入式从业者
展开
-
C语言实现一个先进先出的队列
代码来源silicon labs的sdk。原创 2023-03-01 19:17:52 · 627 阅读 · 0 评论 -
C语言杂项
一 结构体赋值编译器 keil 5芯片 nordic52833 typedef struct{ uint8_t a; uint8_t b; uint32_t c; }test_copy_t, *test_copy_pt; test_copy_t m1; test_copy_t m2; m1.a = 10; m1.b = 20; m1.c = 100; memset(&m2, 0, sizeof(m2)); test_copy_pt pm1 = &am原创 2022-04-19 10:08:18 · 733 阅读 · 0 评论 -
C语言消除未使用变量的警告
有些时候定义了某些变量,但是又没有使用到,又不能删掉。想要消除这个警告可以使用://消除param这个未使用的变量产生的警告(void)param;原创 2022-01-04 17:02:29 · 3026 阅读 · 0 评论 -
C语言常用的宏定义
C语言常用宏定义原创 2021-12-14 17:45:59 · 1506 阅读 · 0 评论 -
ARM汇编伪指令
在ARM汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成 的操作称为伪操作。伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。在ARM 的汇编程序中,有如下几种伪指令:符号定义伪指令数据定义伪指令汇编控制伪指令宏伪指令其他伪指令一 符号定义(Symbol Definition)伪指令符号定义伪指令用于定义ARM汇编程序中的变量、对转载 2020-11-03 20:09:01 · 2854 阅读 · 0 评论 -
ARM汇编指令
ARM处理器的指令集可以分为6大类跳转指令数据处理指令程序状态寄存器(PSR)处理指令加载/存储指令协处理器指令异常产生指令一 跳转指令跳转指令用于实现程序流程的跳转,在ARM程序中有以下两种方法可以实现程序流程的跳转:使用专门的跳转指令;直接向程序计数器PC写入跳转地址值,通过向程序计数器PC写入跳转地址值,可以实现在4GB的地址空间中的任意跳转,在跳转之前结合使用MOV LR,PC等类似指令,可以保存将来的返回地址值,从而实现在4GB连续的线性地址空间的子程序调用。ARM指转载 2020-11-02 22:07:10 · 2107 阅读 · 0 评论 -
Python实现汉诺塔算法
汉诺塔 (http://baike.baidu.com/view/191666.htm) 的移动也可以看做是递归函数。我们对柱子编号为a, b, c,将所有圆盘从a移到c可以描述为:如果a只有一个圆盘,可以直接移动到c;如果a有N个圆盘,可以看成a有1个圆盘(底盘) + (N-1)个圆盘,首先需要把 (N-1) 个圆盘移动到 b,然后,将 a的最后一个圆盘移动到c,再将b的(N-1)个圆盘移动到c。请编写一个函数,给定输入 n, a, b, c,打印出移动的步骤:move(n, a, b, c)原创 2020-10-24 13:55:47 · 957 阅读 · 0 评论 -
Python基本语法
一 基本变量1 字符串Python中raw字符串与多行字符串如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀 r ,表示这是一个 raw 字符串,里面的字符就不需要转义了(本来需要转义的字符会被计算机自动转义)。例如:r'\(~_~)/ \(~_~)/'但是r’…'表示法不能表示多行字符串,也不能表示包含’和 "的字符串(为什么?)如果要表示多行字符串,可以用’’’…’’'表示:'''Line 1Line 2Lin原创 2020-10-24 10:09:31 · 237 阅读 · 0 评论