你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

捕获输入的实验出现问题

[复制链接]
亮剑2015 提问时间:2015-3-7 09:46 /
悬赏1ST金币已解决
各位大侠:这两天我一直在做一个捕获输入的实验  因为在参考手册上看到了这个模式 所以就想写一段代码验证一下。废话不多说直接上代码
想要实验的功能:TI1输入的上升沿时捕获计数器的值到TIMXCCRI寄存器中  若捕获到了 则产生中断 :LED1亮。
现在的现象ED1 一直不亮啊!我是按照手册上的说明来进行配置的
想问问大家  这样做到底对不对?哪里出错了?
代码:
主函数
#include <stm32f10x_lib.h>
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "led.h"
#include "timer.h"
int main(void)
{
Stm32_Clock_Init(9); //ϵͳʱÖÓÉèÕâ
uart_init(72,9600);   //´®¿Ú³õʼ»¯
delay_init(72);
LED_Init();
TIMER2_Init(5000,7199);
while(1)
{
  LED0=!LED0;
  delay_ms(200);
}

timer.c

#include "timer.h"
#include "led.h"

void TIM2_IRQHandler(void)
{
if(TIM2->SR&0x0002)
{
  LED1=!LED1;
}
TIM2->SR&=~(1<<1);
}
void TIMER2_Init(u16 arr,u16 psc)
{
RCC->APB1ENR=1<<0;  

TIM2->ARR=arr;   
TIM2->SC=psc;
  TIM2->CCMR1=0X0001;
TIM2->CCER=0X0001;  
TIM2->SMCR=0X057;
TIM2->CR1=0X0080;
TIM2->DIER=0X0002;   
TIM2->CR1|=1<<0;  
MY_NVIC_Init(1,3,TIM2_IRQChannel,2);
}

}

最佳答案

查看完整内容

LZ,这么很明显么。。 你是捕捉TI1,对的引脚上的上升沿的信号。 用TI2作为timer,所以void TIMER2_Init(u16 arr,u16 psc)是配置一个定时器。 所以你还需要把ti1配置成一个输入信号端口呀,现在你没这个函数呢。。。。
收藏 评论4 发布时间:2015-3-7 09:46

举报

4个回答
_ilikerome_ 回答时间:2015-3-7 09:46:30
LZ,这么很明显么。。
你是捕捉TI1,对的引脚上的上升沿的信号。
用TI2作为timer,所以void TIMER2_Init(u16 arr,u16 psc)是配置一个定时器。
所以你还需要把ti1配置成一个输入信号端口呀,现在你没这个函数呢。。。。
bldc小菜鸟 回答时间:2015-3-7 10:15:33
你把你的引脚配置发上来看看。
拼命三郎 回答时间:2015-3-7 11:08:53
xxxxxxxxxx.jpg
拼命三郎 回答时间:2015-3-7 11:09:36
顶顶顶顶顶顶顶顶顶大大大.jpg

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版