一.For循环的基本概念
图1 for循环的基本语法
For循环的基本语法结构如图1所示,其中有三个表达式用分号隔开,第一个表达式是循环计数器变量的初始化。第二个表达式是测试循环是否满足的条件判断,如果条件为真,那么就会继续执行循环。第三个表达式是每一次循环结束时,改变循环计数器的变量。
对于这个循环结构,三个表达式都可以缺失,但是需要注意的是,当缺少表达式1和表达式3时,循环就无法 正确进行了,但是缺少表达式2时可以进行无限次数循环。
有一种特殊情况是,三个表达式都缺失,这时候是进行无限次数循环的,此时可以使用break来离开这个循环。
二.字符串打印函数的基本概念
图2 printf函数的基本语法
打印控制字符串到标准输出终端是一个常见的调试功能,比如PC终端或者MCU的UART终端等。在MCU使用中可以使用printf函数将需要的字符串数据打印在UART终端上。在这个基本语法结构中,除了控制字符串之外,所有逗号分开的数据是可选的,参数可以是变量或者嵌入到控制字符串中的数据。
另外一个元素是控制字符串中的占位符,它表示参数值应该插入的位置,同时指明打印字符串中的数据使用的格式,值得注意的是printf函数需要大量的内存,所以一般仅用于调试功能。
图3 printf语句基本结构
如图3所示,是一个基本的printf的语句结构,可以看到它需要输出a和b两个变量的值,这两个变量采用10进制整数的格式,用%d表示,并且在显示完一个数据之后输出一个\n换行字符。%d就是需要插入两个变量参数的位置,第一个%d需要被a数据所代替,第二个%d需要被b数据代替。
图4 常见格式标识符
常见的printf函数中使用的格式字符如图4所示。
三.在MCU中使用字符串打印输出for循环变量输出
图5 MCC中配置UART外设
此处采用9600的波特率,将printf重定位到UART,和MCU相关的其它外设此处由于篇幅所限不做说明。
图6 for循环中的变量打印输出函数定义
图7 主程序中重复打印for循环变量输出
图8 串口打印输出结果显示
上述内容简要说明了通过printf函数无限次打印for循环结果。