| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /*
- * led.c
- *
- * Created on: 2025年7月24日
- * Author: Administrator
- */
- #include <stdio.h>
- #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);
- }
- }
|