OpenEdv-开源电子网

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

TIM1_CH1N,TIM1_CH2N 和TIM1_CH3N 如何 同时 配置成 输入捕获?TIM1_CH2已经配置成外部输入脉冲计数模式,求助原子哥和各位大神?

[复制链接]

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2014-5-7
在线时间
0 小时
发表于 2015-3-27 12:12:54 | 显示全部楼层 |阅读模式
5金钱
TIM1_CH1N,TIM1_CH2N 和TIM1_CH3N 如何 同时 配置成 输入捕获?TIM1_CH2已经配置成外部输入脉冲计数模式,求助原子哥和各位大神?
[/mw_shl_code]
下面是配置(TIM1_CH2):
TIM_TimeBaseInitTypeDef   TIM_TimeBaseStructure;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
	GPIO_Init(GPIOA, &GPIO_InitStructure); [/mw_shl_code]
TIM_DeInit(TIM1);
	TIM_TimeBaseStructure.TIM_Period = 0xFFFF;
	TIM_TimeBaseStructure.TIM_Prescaler = 0x00;
	TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
	TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
	TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); 
	TIM_TIxExternalClockConfig(TIM1,TIM_TIxExternalCLK1Source_TI2,TIM_ICPolarity_Rising,0);
	TIM_SetCounter(TIM1, 0);
	TIM_Cmd(TIM1, ENABLE);[/mw_shl_code]

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-3-27 23:23:45 | 显示全部楼层
这几个通道不能设置成输入补货吧.
既然CH2已经用作脉冲计数了,你还用定时器1的通道干嘛?
换其他定时器了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2014-5-7
在线时间
0 小时
 楼主| 发表于 2015-3-28 15:00:05 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
那TIM8_ch1、2、3、4的4个通道可以同时设置成输入捕获模式么?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-3-28 23:11:32 | 显示全部楼层
回复【3楼】青玉更落星雨:
---------------------------------
可以
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2014-5-7
在线时间
0 小时
 楼主| 发表于 2015-3-29 11:49:54 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
TIM1_CH1,TIM1_CH1N,TIM1_CH2N,TIM1_CH3N我是要这几个管脚都设置成对外部脉冲计数模式,TIM1_CH2已经是这样设置了(按照我说的),这四个管脚不能再用定时器设置成脉冲计数模式么?,如果不行,那用外部中断做可以么?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-3-29 23:10:38 | 显示全部楼层
回复【5楼】青玉更落星雨:
---------------------------------
我说的是CH1,CH2,CH3,CH4
不是CH1N,CH2N,CH3N,带N的这些你得自己测试下,能不能成..
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2014-5-7
在线时间
0 小时
 楼主| 发表于 2015-3-30 14:24:53 | 显示全部楼层
我的TIM8_ch1,2,3,4同时配置成输入捕获,出现错误,输出数据不错,跳的很快,如果只单独一路捕获,是对的,请教原子哥。。。 ,
ch1的输入时是1hz的方波,ch2是2hz,ch3是4hz,ch4是8hz
TIM_ICInitTypeDef  TIM1_ICInitStructure;

void TIM8_Cap_Init(u16 arr,u16 psc)
{  
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
  NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM8, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);  

GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;  
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; 
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_ResetBits(GPIOC, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9);

TIM_TimeBaseStructure.TIM_Period = arr; 
TIM_TimeBaseStructure.TIM_Prescaler = psc; 
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; 
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
TIM_TimeBaseInit(TIM8, &TIM_TimeBaseStructure); 
  
TIM1_ICInitStructure.TIM_Channel = TIM_Channel_1 | TIM_Channel_2 | TIM_Channel_3 | TIM_Channel_4; 
TIM1_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;
TIM1_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; 
TIM1_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;
TIM1_ICInitStructure.TIM_ICFilter = 0x00;
TIM_ICInit(TIM8, &TIM1_ICInitStructure);

NVIC_InitStructure.NVIC_IRQChannel = TIM8_CC_IRQn; 
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; 
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;  
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);  

TIM_ITConfig(TIM8, TIM_IT_CC1 | TIM_IT_CC2 | TIM_IT_CC3 | TIM_IT_CC4, ENABLE);

TIM_Cmd(TIM8, ENABLE); 
}

extern u16 num_TIM8[4];
void TIM8_CC_IRQHandler(void)
{
if (TIM_GetITStatus(TIM8, TIM_IT_CC1) != RESET)
    num_TIM8[0]++;
if (TIM_GetITStatus(TIM8, TIM_IT_CC2) != RESET)
    num_TIM8[1]++;
if (TIM_GetITStatus(TIM8, TIM_IT_CC3) != RESET)
    num_TIM8[2]++;
if (TIM_GetITStatus(TIM8, TIM_IT_CC4) != RESET)
    num_TIM8[3]++;

TIM_ClearITPendingBit(TIM8, TIM_IT_CC1 | TIM_IT_CC2 | TIM_IT_CC3 | TIM_IT_CC4); //????????±ê????
}
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-3-30 18:47:22 | 显示全部楼层
回复【7楼】青玉更落星雨:
---------------------------------
这个你自己研究下先吧
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2016-3-9
在线时间
10 小时
发表于 2016-11-7 15:41:44 | 显示全部楼层
楼主这个问题搞定了吗?
回复

使用道具 举报

0

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2019-7-24
在线时间
18 小时
发表于 2019-7-25 14:18:28 | 显示全部楼层
TIM1_CH1N如何配成PWM输出
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-7 00:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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