OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5939|回复: 10

stm32 mini板 秒表的程序 总是为〇

[复制链接]

1

主题

9

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-6-13
在线时间
1 小时
发表于 2016-6-13 23:39:38 | 显示全部楼层 |阅读模式
1金钱
主函数
#include "led.h”
#include "delay.h"
#include "sys.h"
#include "timer.h"
#include "lcd.h"
#include "key.h"
#include "usart.h"
//ALIENTEK Mini STM32¿a·¢°å·¶ày′úÂë7
//¶¨ê±Æ÷ÖD¶ÏêμÑé   
//¼¼êõÖ§3Ö£owww.openedv.com
//1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«Ë¾
extern u32 sec;
int main(void)
{
       

        delay_init();                    //Ñóê±oˉêy3õê¼»ˉ
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// éèÖÃÖD¶ÏóÅÏ輶·Ö×é2
        TIM3_Int_Init(4999,7199);//10KhzμļÆêyÆμÂ꣬¼Æêyμ½5000Îa500ms  
         //
       
        delay_init();                     //Ñóê±oˉêy3õê¼»ˉ          
        uart_init(9600);                 //′®¿ú3õê¼»ˉÎa9600
        LED_Init();                                  //3õê¼»ˉóëLEDᬽóμÄó2¼t½ó¿ú
        LCD_Init();
        POINT_COLOR=RED;
        while(1)
        {
   LCD_ShowNum(150,162,sec,2,16);
        }
}

timer函数
#include "timer.h"
#include "led.h"
#include "sys.h"
#include "usart.h"
#include "delay.h"
//////////////////////////////////////////////////////////////////////////////////         
//±¾3ìDòÖ»1©Ñ§Ï°ê1óã¬Î′¾-×÷ÕßDí¿é£¬2»μÃóÃóúÆäËüèÎoÎóÃí¾
//Mini STM32¿a·¢°å
//í¨óö¨ê±Æ÷ Çy¶ˉ′úÂë                          
//ÕyμãÔ-×ó@ALIENTEK
//¼¼êõÂÛì3:www.openedv.com
//DT¸ÄèÕÆú:2010/12/03
//°æ±¾£oV1.0
//°æè¨ËùóD£¬μá°æ±Ø¾¿¡£
//Copyright(C) ÕyμãÔ-×ó 2009-2019
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////           


//í¨óö¨ê±Æ÷ÖD¶Ï3õê¼»ˉ
//Õaàïê±ÖóÑ¡ÔñÎaAPB1μÄ2±¶£¬¶øAPB1Îa36M
//arr£o×Ô¶ˉÖØ×°Öμ¡£
//psc£oê±ÖóÔ¤·ÖÆμêy
//Õaàïê1óÃμÄêǶ¨ê±Æ÷3!
volatile u32  sec=0;
volatile u32  min=0;
void TIM3_Int_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        NVIC_InitTypeDef NVIC_InitStructure;

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //ê±Öóê1Äü

        TIM_TimeBaseStructure.TIM_Period = arr; //éèÖÃÔúÏÂò»¸ö¸üDÂê¼t×°èë»î¶ˉμÄ×Ô¶ˉÖØ×°ÔؼÄ′æÆ÷ÖüÆúμÄÖμ         ¼Æêyμ½5000Îa500ms
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //éèÖÃóÃà′×÷ÎaTIMxê±ÖóÆμÂê3yêyμÄÔ¤·ÖÆμÖμ  10KhzμļÆêyÆμÂê  
        TIM_TimeBaseStructure.TIM_ClockDivision = 0; //éèÖÃê±Öó·Ö¸î:TDTS = Tck_tim
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIMÏòéϼÆêyÄ£ê½
        TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //¸ù¾YTIM_TimeBaseInitStructÖDÖ¸¶¨μÄ2Îêy3õê¼»ˉTIMxμÄê±¼ä»ùêyμ¥λ

        TIM_ITConfig(  //ê1Äü»òÕßê§ÄüÖ¸¶¨μÄTIMÖD¶Ï
                TIM3, //TIM2
                TIM_IT_Update ,
                ENABLE  //ê1Äü
                );
        NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3ÖD¶Ï
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //ÏèÕ¼óÅÏ輶0¼¶
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //′óóÅÏ輶3¼¶
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQí¨μà±»ê1Äü
        NVIC_Init(&NVIC_InitStructure);  //¸ù¾YNVIC_InitStructÖDÖ¸¶¨μÄ2Îêy3õê¼»ˉíaéèNVIC¼Ä′æÆ÷

        TIM_Cmd(TIM3, ENABLE);  //ê1ÄüTIMxíaéè
                                                         
}

void TIM3_IRQHandler(void)   //TIM3ÖD¶Ï
{
        u8 sec=0;
        if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //¼ì2éÖ¸¶¨μÄTIMÖD¶Ï·¢éúóë·ñ:TIM ÖD¶ÏÔ′
                {
                TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //Çå3yTIMxμÄÖD¶Ï′y′|àíλ:TIM ÖD¶ÏÔ′
          LED1=!LED1;
                }
        sec++;
     if(sec==60)
            {       
                                                        sec=0;
                                                        min++;

            }   
}














最佳答案

查看完整内容[请看2#楼]

void TIM3_IRQHandler(void) { u8 sec=0; …… } 改为: u8 sec=0; void TIM3_IRQHandler(void) { …… }或者改为: void TIM3_IRQHandler(void) { static u8 sec=0; …… }
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

550

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2861
金钱
2861
注册时间
2016-5-13
在线时间
180 小时
发表于 2016-6-13 23:39:39 | 显示全部楼层
void TIM3_IRQHandler(void)  
{
        u8 sec=0;
        ……
}
改为:
u8 sec=0;
void TIM3_IRQHandler(void)   
{
        ……
}或者改为:
void TIM3_IRQHandler(void)  
{
        static u8 sec=0;
        ……
}
虽然不明白你们在说什么,但感觉很厉害的样子。
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-6-13
在线时间
1 小时
 楼主| 发表于 2016-6-13 23:40:07 | 显示全部楼层
如题 时间不变化 有点蒙圈
回复

使用道具 举报

5

主题

184

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1050
金钱
1050
注册时间
2016-5-13
在线时间
111 小时
发表于 2016-6-14 08:40:27 | 显示全部楼层
你这sec每次进中断就清零了呀。
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-6-13
在线时间
1 小时
 楼主| 发表于 2016-6-14 13:13:08 | 显示全部楼层
zhuifeng8911 发表于 2016-6-14 08:40
你这sec每次进中断就清零了呀。

那改这里 就好了么?谢谢大神
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-6-13
在线时间
1 小时
 楼主| 发表于 2016-6-14 13:13:39 | 显示全部楼层
zhuifeng8911 发表于 2016-6-14 08:40
你这sec每次进中断就清零了呀。

设置全局 说我有错误
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-6-13
在线时间
1 小时
 楼主| 发表于 2016-6-14 14:31:35 | 显示全部楼层
电脑小白 发表于 2016-6-14 13:49
void TIM3_IRQHandler(void)  
{
        u8 sec=0;

好的 已经解决拿到了 函数的外面 可是我的键盘控制不了暂停 和开始· 现在外部中断老出问题
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-6-13
在线时间
1 小时
 楼主| 发表于 2016-6-14 14:31:50 | 显示全部楼层
电脑小白 发表于 2016-6-14 13:49
void TIM3_IRQHandler(void)  
{
        u8 sec=0;

感谢噻
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-6-13
在线时间
1 小时
 楼主| 发表于 2016-6-14 14:32:49 | 显示全部楼层
电脑小白 发表于 2016-6-14 13:49
void TIM3_IRQHandler(void)  
{
        u8 sec=0;

..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol EXTI_ClearITPendingBit (referred from main.o).
外部中断加入就显示这个
回复

使用道具 举报

8

主题

550

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2861
金钱
2861
注册时间
2016-5-13
在线时间
180 小时
发表于 2016-6-14 14:59:30 | 显示全部楼层
阿拉斯加的雪茄 发表于 2016-6-14 14:32
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol EXTI_ClearITPendingBit (referred from main.o).
...

这个是缺少相关的头文件一般才提示的。
虽然不明白你们在说什么,但感觉很厉害的样子。
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-6-13
在线时间
1 小时
 楼主| 发表于 2016-6-14 15:52:58 | 显示全部楼层
电脑小白 发表于 2016-6-14 14:59
这个是缺少相关的头文件一般才提示的。

嗷嗷  也搞定了~ 只是秒表 需要用按键控制开始和暂停 清零做出来了 开始就比较麻烦了··求教
非常感谢你噻
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 14:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表