你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
与龙共舞 提问时间:2018-7-25 10:24 /
本帖最后由 与龙共舞 于 2018-8-7 16:33 编辑

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

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

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


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

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


  16. /*
  17. *  全局串口调试开关  
  18. */
  19. -DDEBUG_ENABLE=1







  20. /*
  21. *  硬件版本号
  22. */
  23. -DDEVICE_HW_VERSION=101


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


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



  32. /*
  33. *  设备默认上网方式,如果同时存在则用或,例如同时支持WIFI及GPRS,DEFAULT_NET_MODE = 3
  34. *  GPRS                 (0x00000001)
  35. *  WIFI                (0x00000002)
  36. *  Ethernet        (0x00000004)
  37. *  LORA                (0x00000008)
  38. *  ZETA                (0x00000010)
  39. */
  40. -DTSLNetType_TSLGPRS=0x01
  41. -DTSLNetType_TSLWIFI=0x02
  42. -DTSLNetType_TSLEthernet=0x04
  43. -DTSLNetType_TSLLORA=0x08
  44. -DTSLNetType_TSLZETA=0x10
  45. -DTSLNetType_TSLNB=0x20

  46. -DDEFAULT_NET_MODE=TSLNetType_TSLGPRS
  47. -DDEVICE_SUPPOR_NET=TSLNetType_TSLGPRS

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


  52. /*
  53. *  是否启用新协议
  54. */
  55. -DUSE_NANO_PROTO=0



  56. /*
  57. *  系统配置文件默认MARK
  58. */
  59. -DDEFAULT_MARK=0xAA55AA55



  60. /*
  61. *  FreeRtos 配置选项
  62. */
  63. -DINCLUDE_uxTaskGetStackHighWaterMark=1


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


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


  72. -DMULTI_LINK=0
  73. -DSINGLE_LINK=1
  74. -DBULETOOTH_MODE=SINGLE_LINK


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




  76. -DMQTT_TASK






复制代码

+++++++++查了查 网上说的都是很老旧的知识 还是不清楚 这是IDE支持的 +++++++++++++ QQ截图20180725125125.jpg





++++++++++++++20180807标记解决++++++++++++
今天合并代码,本来work可以的,下午擦除芯片没有boodloader,然后编写工程出现问题:找不到我的变量。
当时情况是这样的
QQ截图20180807163145.jpg
所以 我也要把cfg这个文件引入到IDE里面去了(工程里面是有cfg文件的,但是IDE没有修改)
QQ截图20180807162801.jpg
如此就可以了。能work就行了吧 原理放弃。
收藏 评论9 发布时间:2018-7-25 10:24

举报

9个回答
回答时间:2018-7-25 10:43:28
bleDeafultPairPwd[0] = DEFAULT_PAIR_PWD[0];
在程序中可以这样操作吗?我认为他是定义好一个常量数组了,类似const。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

与龙共舞 回答时间:2018-7-25 10:49:10
安 发表于 2018-7-25 10:43
bleDeafultPairPwd[0] = DEFAULT_PAIR_PWD[0];
在程序中可以这样操作吗?我认为他是定义好一个常量数组了, ...

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

没见过这种搞法 一般都是头文件啥的放一个宏定义 这个工程怎么搞个.cfg文件
回答时间:2018-7-25 11:00:12
现在这么写的挺多的。我最近在看alios这个系统,里面很多也是这么写的。具体还是网上搜索一下.cfg的使用。
zwjchinayids 回答时间:2018-7-25 11:16:28
这种文件 有点像脚本 编译器支持的话就会先进这里来
这里面就是配置文件    像上面你说的宏定义什么的放在这里 其实就是统一下放置的位置
方便用户自定义   我觉得解释这么多都是多余的   说下配置文件你就懂了

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

butterflyspring 回答时间:2018-7-25 12:12:01
是不是在setting里面呀?
jakecumt 回答时间:2018-7-26 09:34:53
说白啦就是配置文件,在里面你可以定义一些你自己的信息,比如版本号,批次之类等等用户自定义的信息

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

xiaolingoei 回答时间:2018-7-26 10:35:36
本帖最后由 xiaolingoei 于 2018-7-26 10:41 编辑

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

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

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蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版