5653|6

40

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

STM32的RTC实验遇到的一系列问题 [复制链接]

根据金牛开发板上的RTC例程,把程序烧到带有STM32F107VCT6的金牛开发板上,用电脑自带的超级终端进行接收,发现小时分钟秒的输入那得一个速度才行啊,晚了一点点就输入不进去了...好吧,算你狠,能写就成,于是继续调试,可写进去了再复位,也没TIME出来...这又尴尬了...不是都说新手挺容易上手的嘛,STM32都研究一个月了,还在例程在转悠呢...
此帖出自stm32/stm8论坛

最新回复

看了下这个程序.输入部分应该是没问题的.你换串口调试助手试试看? 输出的话. void Time_Show(void) {   printf("\n\r");   /* Infinite loop */   while (1)   {     /* If 1s has paased */     if (TimeDisplay == 1)     {       /* Display current time */       Time_Display(RTC_GetCounter());       TimeDisplay = 0;     }   } } 里面的TimeDisplay没有定义在中断里面啊.肯定是不能printf的 加上这个中断吧 /******************************************************************************* * Function Name  : RTC_IRQHandler * Description    : This function handles RTC global interrupt request. * Input          : None * Output         : None * Return         : None *******************************************************************************/ void RTC_IRQHandler(void) {   if(RTC_GetITStatus(RTC_IT_SEC) != RESET)   {     /* Clear the RTC Second interrupt */     RTC_ClearITPendingBit(RTC_IT_SEC);         /* Toggle led connected to PC.06 pin each 1s */     GPIO_WriteBit(GPIOC, GPIO_Pin_6, (BitAction)(1-GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6)));     /* Enable time update */     TimeDisplay = 1;     /* Wait until last write operation on RTC registers has finished */     RTC_WaitForLastTask();     /* Reset RTC Counter when Time is 23:59:59 */     if(RTC_GetCounter() == 0x00015180)     {       RTC_SetCounter(0x0);       /* Wait until last write operation on RTC registers has finished */       RTC_WaitForLastTask();     }   } } 至于学习STM32.我怕其实接触正儿八经的MCU才一个月.离你说的高手差远了.不过坛子里高人真的不少.多用断点调试程序.还有就是多上论坛交流  详情 回复 发表于 2011-4-8 14:25
点赞 关注
 

回复
举报

40

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
附件为金牛开发板的RTC实验例程,有一起研究的麻烦分享下调试心得

RTC.rar

3.74 MB, 下载次数: 39

RTC实验例程

此帖出自stm32/stm8论坛
 
 

回复

1059

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
明天用自己电脑给你看看 正好我也在做RTC的东西
此帖出自stm32/stm8论坛
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

4
 

回复 板凳 astwyg 的帖子

向高手学习,thx
此帖出自stm32/stm8论坛
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

5
 
我的时间显示跑哪去了啊....
此帖出自stm32/stm8论坛
 
 
 

回复

1059

帖子

0

TA的资源

纯净的硅(高级)

6
 
看了下这个程序.输入部分应该是没问题的.你换串口调试助手试试看?
输出的话.
void Time_Show(void)
{
  printf("\n\r");

  /* Infinite loop */
  while (1)
  {
    /* If 1s has paased */
    if (TimeDisplay == 1)
    {
      /* Display current time */
      Time_Display(RTC_GetCounter());
      TimeDisplay = 0;
    }
  }
}

里面的TimeDisplay没有定义在中断里面啊.肯定是不能printf的
加上这个中断吧
/*******************************************************************************
* Function Name  : RTC_IRQHandler
* Description    : This function handles RTC global interrupt request.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void RTC_IRQHandler(void)
{
  if(RTC_GetITStatus(RTC_IT_SEC) != RESET)
  {
    /* Clear the RTC Second interrupt */
    RTC_ClearITPendingBit(RTC_IT_SEC);
   
    /* Toggle led connected to PC.06 pin each 1s */
    GPIO_WriteBit(GPIOC, GPIO_Pin_6, (BitAction)(1-GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6)));

    /* Enable time update */
    TimeDisplay = 1;

    /* Wait until last write operation on RTC registers has finished */
    RTC_WaitForLastTask();
    /* Reset RTC Counter when Time is 23:59:59 */
    if(RTC_GetCounter() == 0x00015180)
    {
      RTC_SetCounter(0x0);
      /* Wait until last write operation on RTC registers has finished */
      RTC_WaitForLastTask();
    }
  }
}

至于学习STM32.我怕其实接触正儿八经的MCU才一个月.离你说的高手差远了.不过坛子里高人真的不少.多用断点调试程序.还有就是多上论坛交流
此帖出自stm32/stm8论坛
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 6楼 astwyg 的帖子

还是真心感谢,一语中的,确实是这个问题,加了中断函数就可以了,STM32各种测试程序,各种中断,呵呵,头大...
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表