OpenEdv-开源电子网

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

大家好,第一次发帖希望大家能帮帮忙,想用定时器中断控制翻转电平来得到频率变化的脉冲,但是调试出现了,最高只能达到HZ,然后周期就变成0了

[复制链接]

4

主题

13

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2015-8-3
在线时间
0 小时
发表于 2015-8-4 18:44:15 | 显示全部楼层 |阅读模式
5金钱
不知道是不是变量设置超出了界限?我用的是f103zet6的板子

定时器中断实验(正常) - 副本.zip

3.57 MB, 下载次数: 56

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

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2015-8-3
在线时间
0 小时
 楼主| 发表于 2015-8-4 19:02:25 | 显示全部楼层
我是想用两个按键 一个控制脉冲的频率变高,一个控制变低,,然后在lcd上显示,主要目的是来控制步进电机,所以频率达不到,最高2Hz就没了  就是说范围很小,不知道怎么回事,希望大家给我提出点意见!!!
回复

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2015-8-3
在线时间
0 小时
 楼主| 发表于 2015-8-4 19:49:31 | 显示全部楼层
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
 #include "lcd.h"




 int main(void)
 {
   u8 t=0;
 u16 arrx=499;
 u16 TEM=1;
 u16 tem=1;

 KEY_Init();  
 
delay_init();       //???±??????????  
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //?è??NVIC????·?×é2:2??????????????2???ì???????? ????main?????è??·?×é??·??ò????????????????????????????
uart_init(115200);  //????????????115200
  LED_Init();      //LED??????????
// TIM3_Int_Init(arrx,7199);//10Khz??????????????????5000??500ms  ,×???×°????fenpinhou 0.1ms

LCD_Init();
  OINT_COLOR=RED;//?è??×??????ì?? 
LCD_ShowString(60,50,200,16,16,"STM32");
LCD_ShowString(60,70,200,16,16,"FREQUENCY TEST");
LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(60,110,200,16,16,"2015/1/14");
//?????á??????
POINT_COLOR=BLUE;//?è??×?????????
LCD_ShowString(60,130,200,16,16,"frequency:  Hz");       
LCD_ShowString(60,150,200,16,16,"dir:");
 
 while(1)//??arrx5000?±????????2500
{
  delay_ms(10);  
t=KEY_Scan(0);

if(t)
  {
  switch(t)
  {  
 case KEY0_PRES:
//  LED1=!LED1;
 arrx+=2500;
 TEM=0.0001*2*arrx;
 tem=1/TEM;
 break;
     case WKUP_PRES:
//  LED0=!LED0;
 arrx-=2500;
 TEM=0.0001*2*arrx;
tem=1/TEM;
    break;   
    }  

 TIM3_Int_Init(arrx,7199);//10Khz??????????????????5000??500ms  ,×???×°????fenpinhou 0.1ms
 LCD_ShowxNum(156,130,tem,4,16,0);//????AD
 //    while(1)
// {
// LED0=!LED0;
// delay_ms(200);    
// }  
}
}
 }
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-8-4 22:48:18 | 显示全部楼层
TIM3_Int_Init,你不要不停的调用!!调用一次就够了!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2015-8-3
在线时间
0 小时
 楼主| 发表于 2015-8-5 20:41:02 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
就调用一次上面的注释掉了
,其他地方应该没错误吧
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-8-6 22:47:35 | 显示全部楼层
回复【5楼】X_TARGET:
---------------------------------
你自己再看看代码,while是吃屎的啊?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 04:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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