(已解决)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就行了吧 原理放弃。
bleDeafultPairPwd = DEFAULT_PAIR_PWD;
在程序中可以这样操作吗?我认为他是定义好一个常量数组了,类似const。 安 发表于 2018-7-25 10:43
bleDeafultPairPwd = DEFAULT_PAIR_PWD;
在程序中可以这样操作吗?我认为他是定义好一个常量数组了, ...
我现在还在看代码阶段工程编译不过 所以我做不好测试。。。。
你的理解也对的
我就是不懂 这是啥技术
没见过这种搞法 一般都是头文件啥的放一个宏定义 这个工程怎么搞个.cfg文件 现在这么写的挺多的。我最近在看alios这个系统,里面很多也是这么写的。具体还是网上搜索一下.cfg的使用。 这种文件 有点像脚本 编译器支持的话就会先进这里来
这里面就是配置文件 像上面你说的宏定义什么的放在这里 其实就是统一下放置的位置
方便用户自定义 我觉得解释这么多都是多余的 说下配置文件你就懂了 是不是在setting里面呀? 说白啦就是配置文件,在里面你可以定义一些你自己的信息,比如版本号,批次之类等等用户自定义的信息 本帖最后由 xiaolingoei 于 2018-7-26 10:41 编辑
CFG 是一个引导文件, CFG 和TFS文件放在同一文件夹中,相当于程序里的头文件。
感觉上,说白了,就是一种用变相的设置头文件方式。
大多数情况下,很多程序都要保存用户的设置,办法有很多:注册表,日志文件...... 而很多程序都使用了一个专用的文件。为了方便起见,常常命名为*.cfg,有时甚至直接命名为Config.cfg。
这只是一个为开发及使用方便而"发明"的一个后缀名。所以,这种文件没有固定的格式,其实也并不能算作是一种文件类型。用途也仅仅是保存用户的设置,平常没有必要打开。
同样,为了方便起见,里面的内容大多数时候也确实是文本。可以用任何文本编辑器打开,比如QUAKE的config.cfg。不妨用记事本打开看看,如果出现乱码,则不要去动它。 -摘自《百度百科-CFG》
CFG 是一个引导文件, CFG 和TFS文件放在同一文件夹中,相当于程序里的头文件。
说白了,就是一种变相的头文件。以下,摘自百度百科:
大多数情况下,很多程序都要保存用户的设置,办法有很多:注册表,日志文件...... 而很多程序都使用了一个专用的文件。为了方便起见,常常命名为*.cfg,有时甚至直接命名为Config.cfg。
这只是一个为开发及使用方便而"发明"的一个后缀名。所以,这种文件没有固定的格式,其实也并不能算作是一种文件类型。用途也仅仅是保存用户的设置,平常没有必要打开。
同样,为了方便起见,里面的内容大多数时候也确实是文本。可以用任何文本编辑器打开,比如QUAKE的config.cfg。不妨用记事本打开看看,如果出现乱码,则不要去动它。 其实这个文件不需要细懂,只要能看明白就行,就是存储了一些用户自定义的相关参数和信息。
其实它的一些定义字段含义明文上就已经显示了它的定义含义了,可以根据整个工程,来关联相关字段。
希望能帮到您。
页:
[1]