看看port.c:
- //<<AICUBE_USER_HEADER_REMARK_BEGIN>>
- ////////////////////////////////////////
- // 在此添加用户文件头说明信息
- // 文件名称: port.c
- // 文件描述:
- // 文件版本: V1.0
- // 修改记录:
- // 1. (2026-03-04) 创建文件
- ////////////////////////////////////////
- //<<AICUBE_USER_HEADER_REMARK_END>>
-
-
- #include "config.h"
-
-
- //<<AICUBE_USER_INCLUDE_BEGIN>>
- // 在此添加用户头文件包含
- #include "key.h"
- #include "led.h"
- //<<AICUBE_USER_INCLUDE_END>>
-
-
- //<<AICUBE_USER_GLOBAL_DEFINE_BEGIN>>
- // 在此添加用户全局变量定义、用户宏定义以及函数声明
- //<<AICUBE_USER_GLOBAL_DEFINE_END>>
-
-
-
- ////////////////////////////////////////
- // P2口初始化函数
- // 入口参数: 无
- // 函数返回: 无
- ////////////////////////////////////////
- void PORT2_Init(void)
- {
- SetP2nInitLevelHigh(PIN_ALL); //设置P2初始化电平
- SetP2nQuasiMode(PIN_7 | PIN_6 | PIN_5 | PIN_4); //设置P2.7,P2.6,P2.5,P2.4为准双向口模式
- SetP2nPushPullMode(PIN_3 | PIN_2 | PIN_1 | PIN_0); //设置P2.3,P2.2,P2.1,P2.0为推挽输出模式
-
- EnableP2nPullUp(PIN_3 | PIN_2 | PIN_1 | PIN_0); //使能P2.3,P2.2,P2.1,P2.0内部上拉电阻
- DisableP2nPullUp(PIN_7 | PIN_6 | PIN_5 | PIN_4); //关闭P2.7,P2.6,P2.5,P2.4内部上拉电阻
- DisableP2nPullDown(PIN_ALL); //关闭P2内部下拉电阻
- DisableP2nSchmitt(PIN_ALL); //使能P2施密特触发
- SetP2nSlewRateNormal(PIN_ALL); //设置P2一般翻转速度
- SetP2nDrivingNormal(PIN_ALL); //设置P2一般驱动能力
- SetP2nDigitalInput(PIN_ALL); //使能P2数字信号输入功能
-
- //<<AICUBE_USER_PORT2_INITIAL_BEGIN>>
- // 在此添加用户初始化代码
- //<<AICUBE_USER_PORT2_INITIAL_END>>
- }
-
- ////////////////////////////////////////
- // P3口初始化函数
- // 入口参数: 无
- // 函数返回: 无
- ////////////////////////////////////////
- void PORT3_Init(void)
- {
- SetP3nInitLevelHigh(PIN_ALL); //设置P3初始化电平
- SetP3nQuasiMode(PIN_7 | PIN_6 | PIN_5 | PIN_2); //设置P3.7,P3.6,P3.5,P3.2为准双向口模式
- SetP3nHighZInputMode(PIN_4 | PIN_3 | PIN_1 | PIN_0); //设置P3.4,P3.3,P3.1,P3.0为高阻输入模式
-
- EnableP3nPullUp(PIN_4 | PIN_3); //使能P3.4,P3.3内部上拉电阻
- DisableP3nPullUp(PIN_7 | PIN_6 | PIN_5 | PIN_2 | PIN_1 | PIN_0); //关闭P3.7,P3.6,P3.5,P3.2,P3.1,P3.0内部上拉电阻
- DisableP3nPullDown(PIN_ALL); //关闭P3内部下拉电阻
- DisableP3nSchmitt(PIN_ALL); //使能P3施密特触发
- SetP3nSlewRateNormal(PIN_ALL); //设置P3一般翻转速度
- SetP3nDrivingNormal(PIN_ALL); //设置P3一般驱动能力
- SetP3nDigitalInput(PIN_ALL); //使能P3数字信号输入功能
-
- //<<AICUBE_USER_PORT3_INITIAL_BEGIN>>
- // 在此添加用户初始化代码
- //<<AICUBE_USER_PORT3_INITIAL_END>>
- }
-
- ////////////////////////////////////////
- // P5口初始化函数
- // 入口参数: 无
- // 函数返回: 无
- ////////////////////////////////////////
- void PORT5_Init(void)
- {
- SetP5nInitLevelHigh(PIN_ALL); //设置P5初始化电平
- SetP5nQuasiMode(PIN_7 | PIN_6 | PIN_5 | PIN_4 | PIN_3 | PIN_2); //设置P5.7,P5.6,P5.5,P5.4,P5.3,P5.2为准双向口模式
- SetP5nHighZInputMode(PIN_1 | PIN_0); //设置P5.1,P5.0为高阻输入模式
-
- EnableP5nPullUp(PIN_1 | PIN_0); //使能P5.1,P5.0内部上拉电阻
- DisableP5nPullUp(PIN_7 | PIN_6 | PIN_5 | PIN_4 | PIN_3 | PIN_2); //关闭P5.7,P5.6,P5.5,P5.4,P5.3,P5.2内部上拉电阻
- DisableP5nPullDown(PIN_ALL); //关闭P5内部下拉电阻
- DisableP5nSchmitt(PIN_ALL); //使能P5施密特触发
- SetP5nSlewRateNormal(PIN_ALL); //设置P5一般翻转速度
- SetP5nDrivingNormal(PIN_ALL); //设置P5一般驱动能力
- SetP5nDigitalInput(PIN_ALL); //使能P5数字信号输入功能
-
- SetP5nFallingInt(PIN_1 | PIN_0); //设置P5.1,P5.0为下降沿中断
-
- EnableP5nInt(PIN_1 | PIN_0); //使能P5.1,P5.0口中断
-
- SetP5IntPriority(0); //设置中断为最低优先级
-
- //<<AICUBE_USER_PORT5_INITIAL_BEGIN>>
- // 在此添加用户初始化代码
- //<<AICUBE_USER_PORT5_INITIAL_END>>
- }
-
-
- ////////////////////////////////////////
- // P5中断服务程序
- // 入口参数: 无
- // 函数返回: 无
- ////////////////////////////////////////
- void PORT5_ISR(void) interrupt P5INT_VECTOR
- {
- //<<AICUBE_USER_PORT5_ISR_CODE1_BEGIN>>
- // 在此添加中断函数用户代码
- uint8_t intf;
- intf = CheckP5nFlag(PIN_ALL); //读取中断请求标志
- ClearP5nFlag(PIN_ALL); //清除中断请求标志
-
- if(intf & 0X01) //判断是否P50按下 01就是P50,02就是P51,04就是P52,08--P53,10--P54
- {
- delay_ms(10);
- if(intf & 0X01)
- {
- printf_usb("K2(P50)按下!\r\n"); // 发送字符串“K2(P50)按下!”
- LED2=!LED2; //LED1反转
- }
- }
- else if(intf & 0X02) //判断是否P51按下 01就是P50,02就是P51,04就是P52,08--P53,10--P54
- {
- delay_ms(10);
- if(intf & 0X02)
- {
- printf_usb("K1(P51)按下!\r\n"); // 发送字符串“K1(P51)按下!”
- LED1=!LED1; //LED1反转
- }
- }
-
- //<<AICUBE_USER_PORT5_ISR_CODE1_END>>
- }
-
-
- //<<AICUBE_USER_FUNCTION_IMPLEMENT_BEGIN>>
- // 在此添加用户函数实现代码
- //<<AICUBE_USER_FUNCTION_IMPLEMENT_END>>
-
-
复制代码
|