soma 发表于 2024-10-28 10:12:22

直接使用库函数不更清晰了

晓飛飛 发表于 2024-10-28 10:38:54

zhx 发表于 2024-10-28 10:09
这样不是比 光看 0A 0C 的方便多了
其实,我配置一般有库的,
最次也是用宏,


可能我开发产品为主,玩开发板较少,对于特定的电路,端口的初始化配置是固定的,可以使用ISP软件提供的配置助手生成代码,只需要一次配置不会再动,所以我是没有这方面需求的。
只有核心板模块这种的,可能随时通过杜邦线连接改变周边外设和对应IO关系,也就有了隐性需求。
我的建议是,每变更一次连接,就使用IO配置助手把相关IO重配置一遍,避免出问题。

王昱顺 发表于 2024-10-28 12:00:16

本帖最后由 王昱顺 于 2024-10-28 15:09 编辑


STC IO配置小工具 - I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 国芯技术交流网站 - AI32位8051交流社区
请看一下这个,表格方式配置IO,配置完成后可以重现配置

zhx 发表于 2024-10-31 11:33:59

晓飛飛 发表于 2024-10-28 10:38
可能我开发产品为主,玩开发板较少,对于特定的电路,端口的初始化配置是固定的,可以使用ISP软件提供的 ...

主要是开发产品,开发板无所谓的,很多同类产品就是IO不同(比如就改个外形),其他大同小异,这时候IO特别容易错,不过我一般都是这样配置.
void GPIO_Configation(void)
{
PWM1 = 0; //PWM1P
PWM2 = 0; //PWM5_3

P0n_push_pull(Pin0|Pin5|Pin6|Pin7); //PWM2,TEST2,TEST3,TEST4
P0n_standard(Pin2|Pin3);            //TXD4,RXD4
P0n_open_drain(Pin4);               //PWM1_EN
P1n_push_pull(Pin0);                //PWM1
P5n_open_drain(Pin2);               //PWM2_EN
P5n_push_pull(Pin3);                //TEST1

DMX512_OUT1=1;
EN=S485;                            //485 接收
P3n_push_pull(Pin1|Pin5|Pin6|Pin7); //DMX512_OUT1,LED_OPR1_Port,EN,LED
DMX512_RXD=1;
P3n_standard(Pin2|Pin3);            //SW_Back,SW_Enter
P3n_pure_input(Pin0);               //DMX512_RXD
P5n_standard(Pin0|Pin1);            //SW_Down,SW_Up
PWM1_EN=PWM2_EN=1;
P5n_pure_input(Pin4);               //温度
}
页: 1 [2]
查看完整版本: ISP工具建议