/* * led.c * * Created on: 2025年7月24日 * Author: Administrator */ #include #include "tr_led.h" #include "soc_C6748.h" #include "psc.h" #include "gpio.h" // 通用输入输出口宏及设备抽象层函数声明 #include "TL6748.h" // 创龙 DSP6748 开发板相关声明 #include "tr_timer.h" void LedInit(void){ // 使能 GPIO 模块 // 对相应外设模块的使能也可以在 BootLoader 中完成 PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE); // 管脚复用配置,配置相应的 GPIO 口功能为普通输入输出口 // 底板 LED GPIOBank0Pin0PinMuxSetup(); // 设置输出模式 GPIODirModeSet(SOC_GPIO_0_REGS, 1, GPIO_DIR_OUTPUT); // D7 GPIO0[0] } static void LedToggle(void){ static unsigned char Flag = 0; if(Flag == 0){ GPIOPinWrite(SOC_GPIO_0_REGS, 1, GPIO_PIN_LOW); // D7 灭 GPIO0[0] }else { GPIOPinWrite(SOC_GPIO_0_REGS, 1, GPIO_PIN_HIGH); // D7 亮 GPIO0[0] } Flag = !Flag; } // 闪烁流程 void LedFlashingMain(void){ // 定时器 static struct TimerStruct timer = {0, 0}; if(GetPassedTime(&timer) >= 100){ LedToggle(); ClearTimer(&timer); } }