与龙共舞 发表于 2018-7-25 10:24:22

(已解决)IAR看到一个不懂的.cfg文件,能指导下原理吗

本帖最后由 与龙共舞 于 2018-8-7 16:33 编辑

看代码遇到问题:
uint8_t   bleDeafultPairPwd = DEFAULT_PAIR_PWD;
uint8_t   bleDeafultUserPwd = DEFAULT_OPEN_PWD;
uint8_t   deviceNameTitle= DEVICE_NAME;

上面是3个全局变量,第3个事可以的,我可以找到宏定义是什么。第1个第2个都有问题,我不知道宏定义是什么!
DEFAULT_PAIR_PWD;
DEFAULT_OPEN_PWD;
都是灰颜色的 看不到。 但是有一个.cfg的文件


感觉好像是类似于
*设备默认配对密码
*/
-DDEFAULT_PAIR_PWD="{0X12,0x34,0x56}"   《==》#define   DEFAULT_PAIR_PWD    {0X12,0x34,0x56}


那么这是什么技术呢?看不懂

/*
*                           f8wConfig.cfg
*
*Compiler command-line options used to define a terminus device.
*To move an option from here to the project file, comment out or delete the
*option from this file and enter it into the "Define Symbols" box under the
*Preprocessor tab of the C/C++ Compiler Project Options. New user defined
*options may be added to this file, as necessary.
*
*Each macro is prefixed with '-D'. The entries are to be constructed as if
*they are to be on the compiler command line invocation (which they are).
*
*NOTE: 设备属性及固定配置选项
*      
*/


/*
*全局串口调试开关
*/
-DDEBUG_ENABLE=1







/*
*硬件版本号
*/
-DDEVICE_HW_VERSION=101


/*
*设备默认配对密码
*/
-DDEFAULT_PAIR_PWD="{0X12,0x34,0x56}"


/*
*设备默认开门密码
*/
-DDEFAULT_OPEN_PWD="{0X12,0x34,0x56}"



/*
*设备默认上网方式,如果同时存在则用或,例如同时支持WIFI及GPRS,DEFAULT_NET_MODE = 3
*GPRS               (0x00000001)
*WIFI                (0x00000002)
*Ethernet      (0x00000004)
*LORA                (0x00000008)
*ZETA                (0x00000010)
*/
-DTSLNetType_TSLGPRS=0x01
-DTSLNetType_TSLWIFI=0x02
-DTSLNetType_TSLEthernet=0x04
-DTSLNetType_TSLLORA=0x08
-DTSLNetType_TSLZETA=0x10
-DTSLNetType_TSLNB=0x20

-DDEFAULT_NET_MODE=TSLNetType_TSLGPRS
-DDEVICE_SUPPOR_NET=TSLNetType_TSLGPRS

/*
*设备默认开门延时时间,单位100ms
*/
-DOPEN_DELAY=20


/*
*是否启用新协议
*/
-DUSE_NANO_PROTO=0



/*
*系统配置文件默认MARK
*/
-DDEFAULT_MARK=0xAA55AA55



/*
*FreeRtos 配置选项
*/
-DINCLUDE_uxTaskGetStackHighWaterMark=1


/*
*门磁输入检测,设备默认开门状态电平
*/
-DDEFAULT_MAGNET_STATUS=PIN_HIGH


/*
*device pn for ota
*/
-DDEVICE_PN="{'S','T','M','L','4','7','1'}"


-DMULTI_LINK=0
-DSINGLE_LINK=1
-DBULETOOTH_MODE=SINGLE_LINK


//-DPRODUCT_NUM="{'S','E','E','D','-','0','9','0','6'}"




-DMQTT_TASK







+++++++++查了查 网上说的都是很老旧的知识 还是不清楚 这是IDE支持的 +++++++++++++





++++++++++++++20180807标记解决++++++++++++
今天合并代码,本来work可以的,下午擦除芯片没有boodloader,然后编写工程出现问题:找不到我的变量。
当时情况是这样的

所以 我也要把cfg这个文件引入到IDE里面去了(工程里面是有cfg文件的,但是IDE没有修改)

如此就可以了。能work就行了吧 原理放弃。

发表于 2018-7-25 10:43:28

bleDeafultPairPwd = DEFAULT_PAIR_PWD;
在程序中可以这样操作吗?我认为他是定义好一个常量数组了,类似const。

与龙共舞 发表于 2018-7-25 10:49:10

安 发表于 2018-7-25 10:43
bleDeafultPairPwd = DEFAULT_PAIR_PWD;
在程序中可以这样操作吗?我认为他是定义好一个常量数组了, ...

我现在还在看代码阶段工程编译不过 所以我做不好测试。。。。
你的理解也对的
我就是不懂 这是啥技术   

没见过这种搞法 一般都是头文件啥的放一个宏定义 这个工程怎么搞个.cfg文件

发表于 2018-7-25 11:00:12

现在这么写的挺多的。我最近在看alios这个系统,里面很多也是这么写的。具体还是网上搜索一下.cfg的使用。

zwjchinayids 发表于 2018-7-25 11:16:28

这种文件 有点像脚本 编译器支持的话就会先进这里来
这里面就是配置文件    像上面你说的宏定义什么的放在这里 其实就是统一下放置的位置
方便用户自定义   我觉得解释这么多都是多余的   说下配置文件你就懂了

butterflyspring 发表于 2018-7-25 12:12:01

是不是在setting里面呀?

jakecumt 发表于 2018-7-26 09:34:53

说白啦就是配置文件,在里面你可以定义一些你自己的信息,比如版本号,批次之类等等用户自定义的信息

xiaolingoei 发表于 2018-7-26 10:35:36

本帖最后由 xiaolingoei 于 2018-7-26 10:41 编辑

CFG 是一个引导文件, CFG 和TFS文件放在同一文件夹中,相当于程序里的头文件。
感觉上,说白了,就是一种用变相的设置头文件方式。
       大多数情况下,很多程序都要保存用户的设置,办法有很多:注册表,日志文件...... 而很多程序都使用了一个专用的文件。为了方便起见,常常命名为*.cfg,有时甚至直接命名为Config.cfg。
  这只是一个为开发及使用方便而"发明"的一个后缀名。所以,这种文件没有固定的格式,其实也并不能算作是一种文件类型。用途也仅仅是保存用户的设置,平常没有必要打开。
  同样,为了方便起见,里面的内容大多数时候也确实是文本。可以用任何文本编辑器打开,比如QUAKE的config.cfg。不妨用记事本打开看看,如果出现乱码,则不要去动它。      -摘自《百度百科-CFG》

xiaolingoei 发表于 2018-7-26 10:45:34

CFG 是一个引导文件, CFG 和TFS文件放在同一文件夹中,相当于程序里的头文件。
说白了,就是一种变相的头文件。以下,摘自百度百科:

大多数情况下,很多程序都要保存用户的设置,办法有很多:注册表,日志文件...... 而很多程序都使用了一个专用的文件。为了方便起见,常常命名为*.cfg,有时甚至直接命名为Config.cfg。
  这只是一个为开发及使用方便而"发明"的一个后缀名。所以,这种文件没有固定的格式,其实也并不能算作是一种文件类型。用途也仅仅是保存用户的设置,平常没有必要打开。
  同样,为了方便起见,里面的内容大多数时候也确实是文本。可以用任何文本编辑器打开,比如QUAKE的config.cfg。不妨用记事本打开看看,如果出现乱码,则不要去动它。

zhdzhd-174422 发表于 2018-7-26 19:35:33

其实这个文件不需要细懂,只要能看明白就行,就是存储了一些用户自定义的相关参数和信息。
其实它的一些定义字段含义明文上就已经显示了它的定义含义了,可以根据整个工程,来关联相关字段。
希望能帮到您。
页: [1]
查看完整版本: (已解决)IAR看到一个不懂的.cfg文件,能指导下原理吗