![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
文章平均质量分 64
Lastong1
这个作者很懒,什么都没留下…
展开
-
嵌入式C学习第四次
结构体做函数参数传递有三种方式:(1)用结构体的单个成员作为函数参数,向函数传递结构体的单个成员(属于传值调用,不会影响相应的实参结构体的值),分为值传递和地址传递。(2)用结构体变量做函数参数,向函数传递结构体完整结构(属于传值调用,不会影响相应的实参结构体的值),属于地址传递。(3)用结构体指针或结构体数组作函数参数属于模拟按引用调用,会影响相应的实参结构体的值,向函数传递结构体地址,因为仅复制结构体首地址一个值给被调函数,相对于第二种方式,这种传递效率更高,属于值传递。1.结构体的参数传递原创 2021-02-05 23:56:18 · 385 阅读 · 0 评论 -
嵌入式学习第三次任务
一、内存操作在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力。在嵌入式系统的实际调试中,多借助C语言指针所具有的对绝对地址单元内容的读写能力。以指针直接操作内存多发生在如下几种情况: (1)某I/O芯片被定位在CPU的存储空间而非I/O空间,而且寄存器对应于某特定地址; (2)两个CPU之间以双端口RAM通信,CPU需要在双端口RAM的特定单元(称为mail box)书写内容以在对方CP...原创 2021-02-04 23:58:36 · 122 阅读 · 0 评论 -
嵌入式C学习第二次任务
一、Typedeftypedef用于为现有类型创建一个新的名字,或称为类型别名,用来简化变量的定义。typedef在MDK用得最多的就是定义结构体的类型别名和枚举类型了。如:typedef struct{ u16 seq_num; u16 len; u8 dev_id[GPRS_PRO_DEVICE_ID]; u16 command_id; u8 *pro_data;}gprs_pro_cmd_t;然后我们就可以直接使用gprs_...原创 2021-02-03 23:57:56 · 102 阅读 · 0 评论 -
嵌入式C学习第一次任务
一.位运算1. “|”:或0则保持不变,或1则置1;2. “&”:与0则清0,与1则保持不变;二、静态变量所有未加 static 前缀的全局变量(这里的全局变量指在源文件的开头处,不包含在源文件的任何函数内)和函数都具有全局可见性,其它的源文件也能访问。static声明的函数和变量不能在另一个文件中引用,也就是说,如果加了 static,就会对其它源文件隐藏,无法进行调用。static 还有下面两个作用。1. 存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次.原创 2021-02-02 23:50:13 · 76 阅读 · 0 评论