OpenEdv-开源电子网

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

原子例程time移植IAR不成功

[复制链接]

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
发表于 2017-3-29 11:26:54 | 显示全部楼层 |阅读模式
2金钱

求教,小弟用的是战舰V3的板子  IAR里 移植了原子的time的例程怎么没有用啊? 只是单纯的定时器,在中断里设置点亮小灯,现在小灯不亮 咋回事啊?哪位大虾帮个忙解释下?

最佳答案

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

已经解决了。谢谢。7.8版本需要把启动文件里的 REORDER改NOROOT
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-3-29 11:26:55 | 显示全部楼层
yklstudent 发表于 2017-3-29 13:13
定时器时钟开启了吗?检查下定时器基本设置

已经解决了。谢谢。7.8版本需要把启动文件里的 REORDER改NOROOT
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-3-29 13:54:16 | 显示全部楼层
yklstudent 发表于 2017-3-29 13:13
定时器时钟开启了吗?检查下定时器基本设置

void LED_Init(void)
{
GPIO_InitTypeDef  GPIO_InitStructure;
       
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE);//ê1ÄüPB,PE¶Ë¿úê±Öó
       
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                                 //LED0-->PB.5 ¶Ë¿úÅäÖÃ
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //íÆíìêä3ö
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 //IO¿úËù¶èÎa50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure);                                         //¸ù¾Yé趨2Îêy3õê¼»ˉGPIOB.5
GPIO_SetBits(GPIOB,GPIO_Pin_5);                                                 //PB.5 êä3ö¸ß

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                             //LED1-->PE.5 ¶Ë¿úÅäÖÃ, íÆíìêä3ö
GPIO_Init(GPIOE, &GPIO_InitStructure);                                           //íÆíìêä3ö £¬IO¿úËù¶èÎa50MHz
GPIO_SetBits(GPIOE,GPIO_Pin_5);                                                  //PE.5 êä3ö¸ß
}

void TIM3_Int_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        NVIC_InitTypeDef NVIC_InitStructure;

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

        TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //ê1ÄüÖ¸¶¨μÄTIM3ÖD¶Ï,ÔêDí¸üDÂÖD¶Ï

        //ÖD¶ÏóÅÏè¼¶NVICéèÖÃ
        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);  //3õê¼»ˉNVIC¼Ä′æÆ÷


        TIM_Cmd(TIM3, ENABLE);  //ê1ÄüTIMx                                         
}
//¶¨ê±Æ÷3ÖD¶Ï·tÎñ3ìDò
void TIM3_IRQHandler(void)   //TIM3ÖD¶Ï
{
        if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //¼ì2éTIM3¸üDÂÖD¶Ï·¢éúóë·ñ
                {
                TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //Çå3yTIMx¸üDÂÖD¶Ï±êÖ¾
             GPIO_ResetBits(GPIOB,GPIO_Pin_5);
                }
}
int main(void)
{               

         SystemInit ();
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //éèÖÃNVICÖD¶Ï·Ö×é2:2λÇàÕ¼óÅÏè¼¶£¬2λÏìó|óÅÏè¼¶
       
        LED_Init();                             //LED¶Ë¿ú3õê¼»ˉ
        TIM3_Int_Init(4999,7199);//10KhzμļÆêyÆμÂ꣬¼Æêyμ½5000Îa500ms  
  while(1)
        {
         
        }         
}
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-3-29 13:55:44 | 显示全部楼层
yklstudent 发表于 2017-3-29 13:13
定时器时钟开启了吗?检查下定时器基本设置

在keil里面编译烧录没问题,粘到IAR 后生成HEX文件烧录进去就是没反应,也复位了。
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-3-29 13:57:29 | 显示全部楼层
yklstudent 发表于 2017-3-29 13:13
定时器时钟开启了吗?检查下定时器基本设置

用的是IAR 7.8版本的
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-3-29 15:33:56 | 显示全部楼层
yklstudent 发表于 2017-3-29 14:18
在线仿真看看是什么现象

time不能进中断。怎么回事???
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-3-29 15:34:27 | 显示全部楼层
yklstudent 发表于 2017-3-29 14:18
在线仿真看看是什么现象

在线仿真进不了中断程序。
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-3-29 15:36:20 | 显示全部楼层
yklstudent 发表于 2017-3-29 14:18
在线仿真看看是什么现象

触发不了中断。
回复

使用道具 举报

41

主题

242

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2016-1-11
在线时间
132 小时
 楼主| 发表于 2017-3-29 15:47:17 | 显示全部楼层
yklstudent 发表于 2017-3-29 13:13
定时器时钟开启了吗?检查下定时器基本设置

添加了启动文件就好了,可是添加启动文件又出现好多警告。这咋办?
Warning[25]: Label 'DMA2_Channel1_IRQHandler' is defined pubweak in a section implicitly declared root C:\Users\Desktop\iartemp\user\startup_stm32f10x_hd.s 475
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-18 18:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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