OpenEdv-开源电子网

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

关于外部时钟模式

[复制链接]

17

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2017-7-12
在线时间
20 小时
发表于 2017-8-6 17:32:35 | 显示全部楼层 |阅读模式
1金钱
        TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;
        NVIC_InitTypeDef NVIC_InitStruct;
        GPIO_InitTypeDef GPIO_InitStruct;

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5|RCC_APB1Periph_TIM3,ENABLE);
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);

        GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN;
        GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;
        GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_DOWN;
        GPIO_Init(GPIOA,&GPIO_InitStruct);
       
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource0,GPIO_AF_TIM5);

        TIM_TimeBaseInitStruct.TIM_ClockDivision=0;
        TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;
        TIM_TimeBaseInitStruct.TIM_Period=arr;
        TIM_TimeBaseInitStruct.TIM_Prescaler=psc;//1s
        TIM_TimeBaseInit(TIM5,&TIM_TimeBaseInitStruct);
       
        TIM5->CCMR1&=~3;
        TIM5->CCMR1|=1<<0;        //CC1S=01         &#209;&#161;&#212;&#241;ê&#228;è&#235;&#182;&#203; IC1ó3é&#228;μ&#189;TI1é&#207;
        TIM5->CCMR1&=~(0XF<<4);         //IC1F=0000 &#197;&#228;&#214;&#195;ê&#228;è&#235;&#194;&#203;2¨&#198;÷ 2&#187;&#194;&#203;2¨

        TIM5->CCER&=~(1<<1);         //CC1P=0        é&#207;éy&#209;&#216;&#188;&#198;êy
        TIM5->SMCR|=5<<4;           //′¥·¢&#209;&#161;&#212;&#241;:&#194;&#203;2¨oóμ&#196;&#182;¨ê±&#198;÷ê&#228;è&#235;1(TI1FP1)
        TIM5->SMCR|=7<<0;           //ía2&#191;ê±&#214;ó&#196;£ê&#189;1
       
        TIM_TimeBaseInitStruct.TIM_ClockDivision=0;
        TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;
        TIM_TimeBaseInitStruct.TIM_Period=59999;
        TIM_TimeBaseInitStruct.TIM_Prescaler=1399;//1s
        TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStruct);
        TIM_SelectOnePulseMode(TIM3,TIM_OPMode_Single);//μ¥&#194;&#246;3&#229;&#196;£ê&#189;£&#172;μ¥ò&#187;&#194;&#246;3&#229;
       
        TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//&#214;D&#182;&#207;ê1&#196;ü

       
        NVIC_InitStruct.NVIC_IRQChannel=TIM3_IRQn;
        NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
        NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=1;
        NVIC_InitStruct.NVIC_IRQChannelSubPriority=2;
        NVIC_Init(&NVIC_InitStruct);

        TIM_Cmd(TIM5,ENABLE);             //&#198;&#244;&#182;ˉ&#188;&#198;êy&#198;÷£&#172;CEN=1
        TIM_Cmd(TIM3,ENABLE);
       
F4外部时钟模式还需要设置别的吗,求教

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

使用道具 举报

17

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2017-7-12
在线时间
20 小时
 楼主| 发表于 2017-8-6 17:34:17 | 显示全部楼层
设置成外部时钟模式是为了测频率,下面的TIM3是为了给1s的闸门时间。但是外部时钟模式好像没有设置成功
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-8-6 19:35:47 | 显示全部楼层
论坛参考别人的设置。
回复

使用道具 举报

17

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2017-7-12
在线时间
20 小时
 楼主| 发表于 2017-8-7 10:06:11 | 显示全部楼层
正点原子 发表于 2017-8-6 19:35
论坛参考别人的设置。

我之前参考了你的一篇帖子,设置在F103上是好使的,但是移植到407上就不能用了,我也是按照中文参考资料上的例子一步步设置的,但是就是没有效果,检测不到外部时钟。
回复

使用道具 举报

17

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2017-7-12
在线时间
20 小时
 楼主| 发表于 2017-8-7 10:11:15 | 显示全部楼层
正点原子 发表于 2017-8-6 19:35
论坛参考别人的设置。

如果设置成外部的时钟,是不是就不需要使能总线上的时钟了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-8-8 02:15:40 | 显示全部楼层
巧呀巧呀巧克力 发表于 2017-8-7 10:11
如果设置成外部的时钟,是不是就不需要使能总线上的时钟了

要提供操作寄存器的时钟。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 06:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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