OpenEdv-开源电子网

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

STM32Fx 同一个定时嘀嗒定时器出来的时间不一样?

[复制链接]

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2016-9-8
在线时间
8 小时
发表于 2016-11-3 08:14:10 | 显示全部楼层 |阅读模式
3金钱

这几天在验证自己的功能代码,发现一个比较奇怪的现象,写了一个嘀嗒定时器,在STM32F103C8T6上工作只要定义的时间超出10ms,用示波器测试出来的波形就是乱的不正确,小于10ms都能正常工作,
换了另一款STM32F103ZET6就可以正常工作;在这两个板子上外部工作的晶振也是一样的;我也读取了系统内部时钟,都是72MHZ;请大家帮忙看看什么地方出了问题;start的文件也修改了;

//**************************************************************************************************
//函 数 名:

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2016-9-8
在线时间
8 小时
 楼主| 发表于 2016-11-3 08:14:58 | 显示全部楼层
//**************************************************************************************************
//函 数 名:                SysTick_Handler()
//功    能:          嘀嗒定时器的中断函数
//返 回 值:        无
//**************************************************************************************************
void SysTick_Handler(void)
{
   PBout(1)=!PBout(1);
}

//**************************************************************************************************
//函 数 名:                SysTick_int()
//功    能:          配置嘀嗒定时器为us还是ms定时,并且开启中断函数
//入口参数:        uint32_t ntime                多长时间进入一次中断
//          time_unit Times_unit           时间单位的选择,us还是ms
//返 回 值:        无
//**************************************************************************************************
void SysTick_int(uint32_t ntime, time_unit Times_unit)
{
   uint32_t F_number;
   RCC_ClocksTypeDef RCC_Clocks;          //重新定义一个数据源变量
   RCC_GetClocksFreq(&RCC_Clocks);        //得到系统的所有时间频率
   switch(Times_unit)
    {
      case us :                                                //时间单位为us级别
      F_number=ntime *(RCC_Clocks.HCLK_Frequency /1000000 );
      break;
      case ms :                                                //时间单位为ms级别
      F_number=ntime *(RCC_Clocks.HCLK_Frequency /1000 );
      break;

      default:
      break;
    }
   SysTick_Config(F_number);                                         //配置嘀嗒定时器,并启动中断;时钟源为HCLK

回复

使用道具 举报

6

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
341
金钱
341
注册时间
2015-9-22
在线时间
32 小时
发表于 2016-12-2 14:25:35 | 显示全部楼层
这个问题有点奇怪,估计你是不是还启用了其他的中断响应程序呢?
嵌入式开发微信公众号:嵌入式STM32软硬件开发
STM32交流,加好友,Q707372788
STM32交流群:383260480
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-12-4 22:46:24 | 显示全部楼层
帮顶
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-25 19:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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