t3486784401 发表于 2019-5-21 18:48:07

【原创】使用 EXCEL 配置 STC-IO 模式寄存器

本帖最后由 t3486784401 于 2019-5-21 18:48 编辑

看到坛子里有人发布 STC-IO 的配置器,基本上配置 P0M0/P0M1 这样的寄存器,用用感觉还不错。
不过最新的 STC 支持 P0PU/P0NCS 这样的上拉/施密特寄存器,显然老的配置器不太够用了。

本来想用 MFC 写一个,结果发现想兼容扩展性太麻烦了,不用配置文件基本没有扩展性可说。
于是索性用 EXCEL 写了一个模板,自动计算寄存器数值,发来贡献下。

【用法】
1. 另存一份 XLS 表格,避免原始模板丢失;
2. 在彩色区域填入需要的信息,以字符“1/0/(space)”标记(此步不能剪切粘贴,但可以拖动填充);
3. 表格右侧自动计算出需要的寄存器数值(P0已填入示例)。

【模板】
支持 STC15/STC8 的IO配置器:



【已知BUG】
1. 脚本太长了,没有写其他字符检测;模式互斥检查采用 SUMSQ 检测的,没完全做到互斥(还是脚本太长)。
2. EXCEL 当中如果直接剪切单元格,貌似不自动更新计算,因而 1 需要手写填入或拖动填充。


若有其他 BUG,欢迎大家指点:)

tt98 发表于 2019-5-22 09:49:00

顶一   个    {:lol:}

xckhmf 发表于 2019-5-22 10:37:29

有没有可能直接把IO配置抽象出来,直接在代码里直接配置

t3486784401 发表于 2019-5-22 12:27:43

xckhmf 发表于 2019-5-22 10:37
有没有可能直接把IO配置抽象出来,直接在代码里直接配置

那就是 Arduino 了,所有 IO 都可以用 pinMode 来配置模式。

对于 AVR 有,INPUT / INPUT_PULLUP / OUTPUT 模式

对于 STM32 有,
INPUT / INPUT_PULLUP / INPUT_PULLDOWN / INPUT_ANALOG / INPUT_FLOATING /
OUTPUT / OUTPUT_OPEN_DRAIN / PWM / PWM_OPEN_DRAIN

所有配置都是写在代码里的,程序运行阶段动态配置

qq335702318 发表于 2019-5-22 13:36:54

还不如用QT操个小工具

t3486784401 发表于 2019-5-22 14:08:56

qq335702318 发表于 2019-5-22 13:36
还不如用QT操个小工具

坛子里有人用 C# 做了,我这就放出一个 XLS 版本的

GC007 发表于 2020-3-17 09:07:41

EXCEL 配置 STC-IO 模式寄存器{:handshake:}

bskygweter 发表于 2020-8-8 21:28:14

不错,顶一个

lijianxing 发表于 2020-8-12 19:21:55

谢谢提供

andyliuguohua 发表于 2020-8-12 22:06:39


谢谢提供

jim166783 发表于 2020-8-13 16:07:25

我发一个stc gpio驱动
void pin_mode(enum PIN_NAME pin, enum PIN_MODE mode);

void digitalWrite(enum PIN_NAME pin, enum PIN_HIGHLOW highlow);

enum PIN_HIGHLOW digitalRead(enum PIN_NAME pin);

t3486784401 发表于 2020-8-13 16:51:31

jim166783 发表于 2020-8-13 16:07
我发一个stc gpio驱动
void pin_mode(enum PIN_NAME pin, enum PIN_MODE mode);



Arduino 的硬件抽象层 HAL 吧

jim166783 发表于 2020-8-13 18:01:08

对 参照Arduino的API

lijianxing 发表于 2020-8-30 13:23:22

学习了,谢谢
页: [1]
查看完整版本: 【原创】使用 EXCEL 配置 STC-IO 模式寄存器