01 2019 档案
摘要:1、底层封装函数和上层应用是通过.h头文件来连接的。在底层的drive文件中,一般是对各个外设进行驱动并封装,然后在.h文件中进行接口说明。注意如果在某个drive的.c文件中,如果某些函数只在这个.c文件中调用,没有被其他的.c文件调用,那么这些函数就是内部函数,需要添加static关键字在函数的
阅读全文
摘要:今天想尝试使用串口通信来控制舵机旋转的时候,由于同时用到了定时器T0和T1(用来设定波特率)。程序有点问题,运行不畅,所以现在想通过写篇文章重新来梳理对51单片机这两个定时器的理解。 STC89C51系列单片机有两个定时器:定时器T0、定时器T1 一、首先了解到51单片机的常用晶振是12MHz的,内
阅读全文
摘要:今天发现一个比较不理解的代码,是关于else if这个判断语句的代码。代码如下 看着很简单的样子,其实细看会发现,当a = 1的时候满足的是第一个条件if(a == 1),但是同时也满足else if(a != 0)这个条件,程序是否会同时执行两个程序块里面的内容呢?经过测试当a = 1的时候,打印
阅读全文
摘要:书中自有颜如玉。作为一个专业的软件工程师应该需要一些专业和经典的书籍。 从上层到底层的一些自己认为比较经典的书籍推荐给兄弟们。 1 C/C++语言经典书籍推荐 1.1 C 1.2 C++ 2 编程思想 3 数据结构 4 系统编程 这里添加一本:《深入理解计算机系统》 . 《Unix环境高级编程》.
阅读全文
摘要:区分指针加一和普通类型(如int 、char、double)加一 指针加一:指针加一包括普通指针(如int *...)、数组指针、结构体指针等等,对指针进行加1操作,得到的将是下一个元素的地址,一个类型为T(如int (*) [5]的数组指针类型)的指针移动,是以sizeof(T)为移动单位。 普通
阅读全文
摘要:先直接放程序吧,后面还有总结。 start #include<stdio.h>#include<string.h> int main(void){ int a = 9; float *p = (float *)&a; printf("*(int *)p = %d.\n", *(int *)p); p
阅读全文
摘要:本文主要是理解这几个符号的意思a, a[0], &a, &a[0](前提是定义了数组int a[10]); 1、a代表的是数组名,a作左值的时候,表示的数组a[10]的整个内存空间的大小(也就是10*sizeof(int)这么多个字节)。a作右值的时候表示的是数组首元素的首地址,它的值和&a[0]的
阅读全文

浙公网安备 33010602011771号