v3.20.1 本版的 Configuration Wizard问题
- Edited
可以参照我翻译的CMSIS configuration wizard文档:https://deadline039.github.io/Embedded/cmsis_config_wizard
- Edited
CofMilk 这里我为了解析下面这种先写配置项后写宏定义的情况,用了一个队列来临时存储没有宏定义匹配的配置项。也就是说后面如果有宏定义会匹配到最后一个没有定义的配置项。这跟旧版的匹配方法不一样,旧版是如果有新的配置像,上一个就算没有与之对应的宏定义,也会匹配当前的配置项
CofMilk 如果想要显示一些提示性文本,可以这样做:
admin 可以参照ARM的eclipse插件,这个应该是带完整语法解析的
https://github.com/ARM-software/cmsis-pack-eclipse/tree/master/com.arm.cmsis.config/src/com/arm/cmsis
其实这个向导还支持汇编文件解析,主要是51上用
Deadline039 感谢回复,,之前的做法确实是不太妥,,您提供的这个方法效果还不错,,我再改改。。
我看到有一个<n>标签 功能就是显示文本,,后期如果能实现这个标签也不错。。不过现在的这个已经够用了
Deadline039 哦 我明白了,,因为我上面使用了很多没有匹配宏定义的<o>标签,,所以导致我之后的宏定义被匹配到了上面。又因为上面的那些标签没有实质性的数据,导致我下面的标签显示都不对了。。。问题不大,不这样用了
Deadline039 咱这eide全部支持吗
haha 后面我写个独立的插件吧,把语法检查加上
Deadline039 写啥插件 和 @admin 合作把这个功能完善一下就行 搞那么多插件干啥
我检查了一下,实际上这个 cmsis wizard 有两个版本:
插件原计划是 v1.7.44,但现在只做到 1.6.1, 这个是 keil.com 上的,应该也是 keil mdk 参考的版本。
v3.20.0 及以前的版本,不支持 Version 1.6.1 中的下列语法:
v3.20.2 中将实现上述缺失的部分,跟 keil 保持一致。同时放弃 v1.7.44 这个版本。
对于该问题:
“即使没有对应#define xxx xxx得代码也不会影响下面得标签”
这个快照中应该已经修复
https://snapshot.em-ide.com/3.20.1/eide-3.20.1-202412160141-git_3a51467.vsix
admin 最新的21本版又不能用了
//<h> <通信> 配置
// =======================
// <e2> 串口 1 使能配置
// =======================
// <i> 默认:失能
#define SERIAL_PORT_1_DISABLE (0)
#define SERIAL_PORT_1_ENABLE (1)
#define CONFIG_SERIAL_PORT_1_ENABLE (1)/*!< 使能串口 /
// <o> 串口 1 波特率
// <i> 默认 115200
// <9600=> 9600 波特率
// <115200=> 115200 波特率
#define CONFIG_SERIAL_PORT_1_BAUDRATE (115200)/!< 默认:115200 /
// <o4> 串口 1 工作模式(UART,RS485,WIFI,加湿器)
// <i> 工作模式
// <i> UART 模式
// <i> RS485 模式
// <i> WIFI 模式
// <i> 默认:UART 模式
// <1=> UART 模式
// <2=> RS485 模式
// <3=> WIFI 模式
// <4=> 加湿器 模式
#define SERIAL_PORT_1_WORK_MODE_UART (1)/!< UART 模式 /
#define SERIAL_PORT_1_WORK_MODE_RS485 (2)/!< RS485 模式 /
#define SERIAL_PORT_1_WORK_MODE_WIFI (3)/!< WIFI 模式 /
#define SERIAL_PORT_1_WORK_MODE_JSQ (4)/!< 加湿器模式 */
#define CONFIG_COM1_WORK_MODE (3)
//</e>
又变成什么用法了 两个说明也没有