| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- /********************************************************************************
- **** Copyright (C), 2020, Fortior Technology Co., Ltd. ****
- ********************************************************************************
- * File Name : GPIO.c
- * Author : Bruce HW&RD
- * Date : 2020-10-15
- * Description : .C file function description
- * Version : 1.0
- * Function List :
- *
- * Record :
- * 1.Date : 2020-10-15
- * Author : Bruce HW&RD
- * Modification: Created file
- ********************************************************************************/
- #include "FU68xx_5.h"
- #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 : INT0_Init
- * Description : INT0初始化
- * Input : void
- * Output : None
- * Return :
- * Others :
- * Record
- * 1.Date : 20201015
- * Author : Bruce HW&RD
- * Modification: Created function
- *****************************************************************************/
- void INT0_Init(void)
- {
- /*EXTI Input Pin 配置 ---------------------------------------- */
- ClrBit(P0_OE , PIN2); // config P00 as input,配置P0.0为硬件过流FO端口
- ClrBit(P0_PU , PIN2); // 0:disable pull up, 1:enable P10 pull up
- SetReg(LVSR , EXT0CFG0 | EXT0CFG1 | EXT0CFG2 , EXT0CFG1); //外部中断0配置
- IF0 = 0; // clear P00 interrupt flag
- // 00: rising edge interrupt,01: failing edge interrupt,1x: edge-change mode interrupt
- IT01 = 0;
- IT00 = 1;
-
- SetBit(EVT_FILT , INT0_MOE_EN); //INT0中断关闭MOE使能
-
- /*----------------------------------------------------------------------------------
- 母线电流保护时间滤波宽度
- 00-不滤波
- 01-6cpu clock
- 10-12cpu clock
- 11-24cpu clock
- -----------------------------------------------------------------------------------*/
- SetBit(EVT_FILT , EFDIV1);
- ClrBit(EVT_FILT , EFDIV0);
- /*---------------------------------------------------------------------------
- 外部中断优先级配置及芯片中断总使能
- PX01-PX00,中断优先级控制值从0-3依次表示优先级从最低到最高,共4级优化级控制
- EX0,外部中断0使能
- EA,芯片中断总使能
- 外部中断是否有滤波的配置,决定于选择硬件保护触发信号源,外部中断0或者比较器3中断。
- 若选择了比较器3中断,则外部中断无法进行滤波配置
- --------------------------------------------------------------------------*/
- SetBit(IP0 , PX01);//优先级
- SetBit(IP0 , PX00);
-
- EX0 = 1; // 使能外部中断0, POO位外部中断输入硬件
-
- EA = 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);
- }
|