2301_76840500 2023-12-09 21:06 采纳率: 0%
浏览 3

蓝桥嵌入式第八届升降平台模拟

蓝桥杯嵌入式第八届的实时时钟和led冲突问题怎么解决的啊,我写的老是时钟显示没问题,但是led不亮,这是时钟代码:

void Clock(void)
{
    RTC_TimeTypeDef TIME;
    RTC_DateTypeDef DATE;
    
    char a【30】;

    HAL_RTC_GetTime (&hrtc,&TIME, RTC_FORMAT_BIN);
    HAL_RTC_GetDate (&hrtc,&DATE, RTC_FORMAT_BIN);
    sprintf(a,"       %d:%d:%d        ",TIME.Hours,TIME.Minutes,TIME.Seconds);//时钟显示
    LCD_DisplayStringLine(Line5,(unsigned char *)a);
}蓝桥杯嵌入式第八届的实时时钟和led冲突问题怎么解决的啊,我写的老是时钟显示没问题,但是led不亮,这是时钟代码:
void Clock(void)
{
    RTC_TimeTypeDef TIME;
    RTC_DateTypeDef DATE;
    
    char a【30】;

    HAL_RTC_GetTime (&hrtc,&TIME, RTC_FORMAT_BIN);
    HAL_RTC_GetDate (&hrtc,&DATE, RTC_FORMAT_BIN);
    sprintf(a,"       %d:%d:%d        ",TIME.Hours,TIME.Minutes,TIME.Seconds);//时钟显示
    LCD_DisplayStringLine(Line5,(unsigned char *)a);
}


  • 写回答

3条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-12-09 21:26
    关注

    所有内容均由人工智能模型输出,其内容的准确性和完整性无法保证,不代表我的态度或观点。
    (讯飞星火专栏,V3.0版本,2023.10.24)


    该回答引用讯飞星火认知大模型,仅提供参考,不保证完全正确
    根据您提供的代码,我无法确定LED不亮的具体原因。但是,我可以给您一些建议来解决这个问题。

    1. 检查硬件连接:确保您的LED连接到正确的GPIO引脚,并且该引脚已正确配置为输出模式。

    2. 检查延时函数:在显示时钟之前,您可能需要添加一个延时函数,以确保RTC的时间已经更新。您可以使用HAL_Delay()函数来实现这个目的。例如:

    void Clock(void)
    {
        RTC_TimeTypeDef TIME;
        RTC_DateTypeDef DATE;
        
        char a[30];
        
        HAL_RTC_GetTime(&hrtc, &TIME, RTC_FORMAT_BIN);
        HAL_RTC_GetDate(&hrtc, &DATE, RTC_FORMAT_BIN);
        sprintf(a, "       %d:%d:%d        ", TIME.Hours, TIME.Minutes, TIME.Seconds); // 时钟显示
        LCD_DisplayStringLine(Line5, (unsigned char *)a);
    
        // 添加延时函数
        HAL_Delay(1000); // 延时1秒
    }
    
    1. 检查LED控制函数:确保您使用的LED控制函数(如HAL_GPIO_WritePin())是正确的,并且已经将LED引脚设置为输出模式。

    2. 检查其他代码:检查您的其他代码,看看是否有其他地方可能影响到LED的亮度。例如,检查是否有其他代码在LED上执行操作,或者是否有其他代码在LED上设置额外的亮度值。

    如果您能提供更多关于您的项目和代码的信息,我将更好地帮助您解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月9日