《FreeRTOS内核实现与应用开发实战指南:基于STM32》 —1.4 FreeRTOS的编程风格

举报
华章计算机 发表于 2019/12/07 10:39:21 2019/12/07
【摘要】 本节书摘来自华章计算机《FreeRTOS内核实现与应用开发实战指南:基于STM32》一书中第1章,第1.4.1节,作者是刘火良 杨 森。

1.4 FreeRTOS的编程风格

学习一个RTOS,弄清楚它的编程风格很重要,这可以大大提高我们阅读代码的效率。下面我们就从FreeRTOS中的数据类型、变量名、函数名、宏以及格式这几个方面做简单介绍。

1.4.1 数据类型

在FreeRTOS中,使用的数据类型虽然都是标准C里面的数据类型,但是针对不同的处理器,对标准C的数据类型又进行了重定义,给它们设置了一个新的名字,比如为char重新定义了一个名字portCHAR,这里的port表示接口,在将FreeRTOS移植到处理器上时,需要用这些接口文件把它们连接在一起。但是用户在写程序时并非一定要遵循FreeRTOS的风格,仍可以直接用C语言的标准类型。在FreeRTOS中,int型从不使用,只使用short型和long型。在Cortex-M内核的MCU中,short为16位,long为32位。

FreeRTOS中详细的数据类型重定义在portmacro.h头文件中实现,具体参见表1-3和代码清单1-1。

表1-3 FreeRTOS中的数据类型重定义

image.png

 

代码清单1-1 FreeRTOS中的数据类型重定义

image.png

image.png

在编程时,如果用户没有明确指定char的符号类型,那么编译器会默认指定char型的变量为无符号或者有符号。正是基于这个原因,在FreeRTOS中,我们都需要明确指定变量char是有符号的还是无符号的。在KEIL中,默认char是无符号的,但是也可以配置为有符号的,具体配套过程如图1-3所示。

 image.png

图1-3 char型变量的符号配置(KEIL)


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。