摘要: 在C语言项目中,经常会遇到需要程序员手动分配内存的地方。这样做能够节省大量的内存空间,也让程序更加灵活。只要你有一定的基础,那么肯定用过 malloc 或者 ralloc和free的组合。这个组合使用起来有一个需要注意的地方,不知道你有没有发现。 野指针是什么? 根据百度百科的说法,野指针是指 指向 阅读全文
posted @ 2018-07-25 17:17 _天行健 阅读(912) 评论(0) 推荐(0) 编辑
摘要: C语言是非常贴近底层的一门编程语言,那么在学习C语言的过程中,就需要对程序运行的底层机制有所了解。关于底层机制,有一个非常重要的知识点:程序在内存中是如何分布的。 下面有一张图: 从上图可知,程序执行过程中有以下几个步骤: 1. 系统将程序从硬盘加载到内存 2. 然后在内存中将程序分为四个部分分别存 阅读全文
posted @ 2018-07-24 16:32 _天行健 阅读(1054) 评论(0) 推荐(0) 编辑
摘要: 1.复习GCC编译器的用法 欲善其工,那么要先利其器。在这个C语言巩固与提高的阶段中,如果想要更好的达成预期目标,首先就要熟练掌握GCC编译器的用法。以下是GCC相关知识: GCC使用语法 gcc 选项 参数 选项 o : 指定生成的输出文件 E : 只进行编译预处理 S : 讲C代码转化为汇编代码 阅读全文
posted @ 2018-07-22 23:11 _天行健 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 今天在写简单的TCP通讯例子的时候,遇到了一个问题:server 和client能够连接成功,并且client也能够正常发送,但server就是接收不到,在网上搜索一番后,终于解决了问题。在这里整理如下: 大家要注意的是,一个server端可以连接多个client端,server端的accept() 阅读全文
posted @ 2017-09-24 12:22 _天行健 阅读(2922) 评论(0) 推荐(1) 编辑
摘要: 最近给别人做了一个小东西,MCU选的是STC12C5A60S2 ,需要用到PWM控制功能。 在网上找了一下,发现解释的不尽人意,无奈之下自己琢磨数据手册弄明白了。 首先,STC12C5A60S2内置有两个 编程计数器阵列(PCA) 模块,分别用于软件定时器,外部脉冲的捕捉,高速输出以及脉宽调制输出( 阅读全文
posted @ 2017-04-03 19:41 _天行健 阅读(5650) 评论(0) 推荐(0) 编辑
摘要: Zstack是Zigbee协议的具体实现,在实现的过程中为了能够更好的对各个模块和功能进行管理,所以加入了OSAL(Operating System Abstraction Layer 操作系统抽象层)(以上为个人见解)。 在OSAL中,提出了任务,事件,消息三个概念。它们之间的关系如下: 任务是处 阅读全文
posted @ 2017-03-31 11:45 _天行健 阅读(1919) 评论(0) 推荐(0) 编辑
摘要: 最近在倒腾Zigbee,准备参加物联网全国大赛,学校有给我们发Zigbee开发板,但是对于喜欢折腾的我来说,用开发板还是不过瘾,起码也得知道怎么去画一块板子。于是乎,在百度一番后就有了下面这篇文章。 作为片上系统Soc,CC2530的集成度是非常高的,这也方便了我们开发者。搭建它的最小系统比较简单。 阅读全文
posted @ 2017-02-23 12:54 _天行健 阅读(10573) 评论(0) 推荐(0) 编辑
摘要: 最近在刷C和指针的题目,刷到一题需要补码的知识,在自己脑子里面一搜罗,发现概念已经有些模糊了。刚好播客的申请通过了,就来试试水吧! 我们平时一起共事小伙伴总喜欢开一个玩笑,我给你一把沙子你给我造一台电脑出来! 想想也确实,计算机的核心元件也就是沙子变来的,难道这就是道家的三生万物的思想? 呵呵,扯远 阅读全文
posted @ 2017-01-22 18:36 _天行健 阅读(43208) 评论(8) 推荐(10) 编辑