OpenEdv-开源电子网

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

TIM8 的寄存器怎么设置为计数器,我是来计外部脉冲的,下面是我配的,好像程序到了这就卡住了一样,求大神解答

[复制链接]

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
发表于 2015-11-8 17:51:21 | 显示全部楼层 |阅读模式
5金钱
void TIM8_Externput_Clock_Init(u16 arr)                            //计数器
{
RCC -> APB2ENR |= 1 << 2; //EN GPIOA
GPIOD -> CRL &= 0XFFFFFFF0; //PA 0
GPIOD -> CRL |= 0X00000008;

RCC -> APB2ENR |= 1 << 13; //EN TIM8_Clock
TIM1 -> ARR = arr;  
TIM1 -> PSC = 0;       


TIM8 -> SMCR &= ~(0xf<<8);
TIM8 -> SMCR &= ~(3<<12);
TIM8 -> SMCR |= 1<<15; //down
TIM8 -> SMCR |= 1<<14;


TIM8 -> DIER |= 1<<0;
TIM8 -> DIER |= 1<<6;

TIM8 -> CNT = 0x0;
TIM8 -> CR1 |= 1<<0;
MY_NVIC_Init(1,2,TIM8_UP_IRQn,2);
}

void Timer8_IRQHandler(void) //Timer Interrupt handler            //中断
{
if(TIM8 -> SR & 0X0001) //judge SR bite 0
{
flag++;
}
TIM8 -> SR &= ~(1 << 0); //clean Interrupt flag
}

最佳答案

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

回复【4楼】xug: --------------------------------- 回复【5楼】xug: --------------------------------- IO B7设置为上(下)拉输入模式
这是我的小尾巴~
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-11-8 17:51:22 | 显示全部楼层
回复【4楼】xug:
---------------------------------
回复【5楼】xug:
---------------------------------
IO B7设置为上(下)拉输入模式
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-11-8 22:16:02 | 显示全部楼层
7,8行, 你这是配置TIM8还是TIM1?
TIM1 -> ARR = arr;  
TIM1 -> SC = 0;
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-11-8 22:18:45 | 显示全部楼层
帮顶.....
回复

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
 楼主| 发表于 2015-11-9 18:22:04 | 显示全部楼层
回复【2楼】lycreturn:
---------------------------------
不好意思,是我当时太急,笔误,这个是我后来配的,还是有问题void Timer4_Counter_Init(u16 arr,u16 psc) // Timer4 CH2
{  
    RCC -> APB1ENR |= 1 << 2;     //使能Timer4
    RCC -> APB2ENR |= 1 << 3;   //使能GPIOB

    GPIOB -> CRL &= 0X0FFFFFFF;  //PB7
    GPIOB -> CRL |= 0XB0000000;   
    GPIOB -> ODR |= 0 << 7; 

TIM4 -> ARR = arr;  
    TIM4 -> SC = psc; 

TIM4 -> CCMR1 |= 1 << 8; //CH2 输入
TIM4 -> CCMR1 |= 0 << 9;

TIM4 -> CCER |= 0 << 5; //选定上升沿极性

    TIM4 -> SMCR |= 1 << 0; //SMS=111
TIM4 -> SMCR |= 1 << 1;
TIM4 -> SMCR |= 1 << 2;

    TIM4 -> SMCR |= 0 << 4; //TS
TIM4 -> SMCR |= 1 << 5;
TIM4 -> SMCR |= 1 << 6;

TIM4 -> DIER |= 1 << 0;  
TIM4 -> DIER |= 1 << 6; 

//TIM4 -> CR1 = 0X0080; //ARPE:0X0080:0000 0000 1111 0000
TIM4 -> CR1 |= 0X01;  

MY_NVIC_Init(1,2,TIM4_IRQn,2);
}
这是我的小尾巴~
回复

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
 楼主| 发表于 2015-11-9 18:26:50 | 显示全部楼层




这是我的小尾巴~
回复

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
 楼主| 发表于 2015-11-9 18:28:02 | 显示全部楼层
回复【5楼】xug:
---------------------------------
求论坛大神帮我看看吧,现在上传了中文参考手册上的描述,还有Mini板子的原理图
这是我的小尾巴~
回复

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
 楼主| 发表于 2015-11-10 12:54:07 | 显示全部楼层
回复【7楼】lycreturn:
---------------------------------
回复【7楼】lycreturn:
---------------------------------
我试试
这是我的小尾巴~
回复

使用道具 举报

16

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2015-11-1
在线时间
34 小时
 楼主| 发表于 2015-11-10 15:25:21 | 显示全部楼层
回复【7楼】lycreturn:
---------------------------------
你是正解,的确要设置为上下拉,复用不行
这是我的小尾巴~
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 20:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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