| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #include <Myproject.h>
- void GPIO_Init(void)
- {
- SetBit(P4_OE, P42); //电子膨胀阀驱动IO-A P4_OE = P42;
- GP42 = 0;
- /*交流风机--输出*/
- // GP44 = 0;
- SetBit(P4_OE, P44); //电子膨胀阀驱动IO-A P4_OE = P42;??
- GP44 = 0;
- /*继电器相关 -- 输出*/
- /*PTC_RELAY*/
- // GP51 = 0;
- SetBit(P5_OE, P51);
- GP51 = 0;
- /*DJR*/
- // GP04 = 0;
- SetBit(P0_OE, P04);
- SetBit(P0_PU, P04);
- GP04 = 0;
- /*4WAY*/
- // GP01 = 0;
- SetBit(P0_OE, P01);
- GP01 = 0;
- SetBit(P0_OE, P07); //电子膨胀阀驱动IO-D P0_OE = P07;
- GP07 = 0;
- SetBit(P0_OE, P00); //电子膨胀阀驱动IO-D P0_OE = P07;
- GP00 = 0;
- SetBit(P1_OE, P10); //电子膨胀阀驱动IO-C P1_OE = P10;
- GP10 = 0;
- SetBit(P4_OE, P41); //电子膨胀阀驱动IO-B P4_OE = P41;
- GP41 = 0;
- SetBit(P1_OE, P11); //电子膨胀阀驱动IO-C P1_OE = P10;
- GP11 = 0;
- /*LED*/
- // GP22 = 0;
- SetBit(P0_OE, P03);
- GP03 = 0;
- }
- /**
- * @function PreDriverFalutInt
- * @brief 预驱故障中断
- * @date 2025-10-31
- */
- void PreDriverFalutInt(void)
- {
- // 关闭输出 配置上拉
- ClrBit(P0_OE, PIN2);
- SetBit(P0_PU, PIN2);
- // 中断源配置为P02
- SetReg(LVSR, EXT0CFG0 | EXT0CFG1 | EXT0CFG2, EXT0CFG1);
- // 清除中断标志位
- IF0 = 0;
- // 配置为下降沿触发
- IT01 = 0;
- IT00 = 1;
- // 中断触发时自动关闭MOE
- SetBit(EVT_FILT, INT0_MOE_EN);
- // 不滤波
- ClrBit(EVT_FILT, EFDIV0 | EFDIV1);
- // 配置中断优先级为最高
- SetBit(IP0, PX00 |PX01);
- // 外部中断0使能
- EX0 = 1;
- }
- void INT1_Init(void)
- {
- ClrBit(P1_OE, P12); // config P11 as input
- ClrBit(P1_PU, P12); // diasable P11 Pull Up
- SetBit(P1_IE, P12); // config P11 as input
- ClrBit(P1_IF, P12);
- IT11 = 0;
- IT10 = 1; // 00: rising edge interrupt,01: failing edge interrupt,1x: edge-change mode interrupt
- SetBit(IP0, PX11); //优先级
- SetBit(IP0, PX10);
- EX1 = 1; // 使能外部中断1, P11位外部中断输入硬件
- }
- /*Value--定时时间,单位ms,最小定时时间8ms,最大定时1800ms*/
- void WatchDogConfig(uint32 value, uint8 Status)
- {
- SetReg(CCFG1, WDT_EN, (Status ? WDT_EN : 0x00));
- WDT_ARR = ((uint16)(65532 - value * 32768 / 1000) >> 8);
- ClrBit(WDT_CR, WDTF);
- SetBit(WDT_CR, WDTRF);
- }
|