平时使用串口打印出现乱码的绝大部分原因是串口波特率没对。那么我们怎么测量实际的波特率呢?在这之前,顺便一起回顾一下波特率的概念。 什么是波特率、比特率? 比特率(Bitrat...
平时使用串口打印出现乱码的绝大部分原因是串口波特率没对。那么我们怎么测量实际的波特率呢?在这之前,顺便一起回顾一下波特率的概念。 什么是波特率、比特率? 比特率(Bitrat...
一、位操作简单介绍 首先,以下是按位运算符: 在嵌入式编程中,常常需要对一些寄存器进行配置,有的情况下需要改变一个字节中的某一位或者几位,但是又不想改变其它位原有的值,这时就...
带参宏在我们的嵌入式编程中使用得非常多,其定义如下: 其中参数列表中的参数之间用逗号分隔,字符序列中应包含参数表中的参数。在定义带参数的宏时,宏名标识符与左圆括号之间不允许有...
先看一个带参宏的例子: 也即: 带参宏也称做宏函数,宏函数FPGA_WRITE(data_out, base_addr, offset)用于往FPGA发送数据。其中 参数da...
一、操作位的方法 操作位有两种方法,一种是位字段,另一种是使用按位运算符。位字段的方法可查看往期笔记:【C语言笔记】位域。本文介绍使用按位运算符操作位的方法。下表为几种位操作...
提到变参函数,我们的感觉是不是既熟悉又陌生?感觉熟悉是因为我们平时都在使用着,如我们常使用的printf()函数与scanf()函数就是典型的变参函数。因为printf()函...
前言 若要使用Linux环境,可以把Linux操作系统装在真机上,也可以把Linux操作系统安装在虚拟机上(如VMware)。本文介绍除了这两种方法之外的第三种可以使用Lin...
在C语言中,main函数是程序的入口。其有四种写法,即: 前面三种不带参数的都是比较常见的写法。第四种写法带的两个参数是什么意思呢?下面简单来介绍一下。首先,主函数不能被其他...
1、getchar()函数 所在头文件:stdio.h 函数原型:int getchar(void); 函数功能:读取控制台输入的字符,并保存在键盘缓冲区中。直到用户按回车为...
extern关键字可以用来声明变量和函数作为外部变量或者函数供其它文件使用。 extern声明变量 示例程序: test.h如下: test.c如下: 主函数所在的源文件为m...
C语言中没有特定的字符串类型,常用以下两种方式定义字符串:一种是字符数组,另一种是指向字符串的指针。如下: 这种方式有什么不同呢? 示例一:字符数组 运行结果: 示例二:指向...
一、什么是assert()? 编写代码时,我们总是会做出一些假设,断言(assert)就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。 断言表示为一些布...
1. 如何输出ASCII码? ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉...
1、#运算符 我们平时使用带参宏时,字符串中的宏参数是没有被替换的。例如: 输出结果为: 然而,我们期望输出的结果是: 这该怎么做呢?其实,C语言允许在字符串中包含宏参数。在...
#define define是预处理指令,在编译时不进行任何检查,只进行简单的替换。 宏定义的一般形式为: 这里所说的字符串是一般意义上的字符序列,不要和C语言中的字符串等同...
1、前言 如果你使用的是集成开发环境,那么你点击编译按钮就可生成可执行文件,然后点击运行即可运行。那么,你知道从源代码到可执行文件经历了哪些过程吗。仅仅是编译? 下面以win...
我们在很多地方都有看到过K&R C、ANSI C、ISO C、C89、C99、C11等标准,具体有什么不同呢?(文末有个很好的实例) 什么是K&R C? 1978年,丹尼斯•...
Windows平台下C程序的集成开发工具有很多: 1、Visual C++6.0 Visual C++是Microsoft公司推出的用于开发C/C++程序的一款经典的IDE,...