OpenEdv-开源电子网

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

同样程序和硬件,51上测试正确,而32上不对。实在不知道那里出问题了

[复制链接]

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
发表于 2015-9-4 16:48:32 | 显示全部楼层 |阅读模式
5金钱
这几天做一个心率检测,用51和1602,测心率时非常好,70  80  左右,属于正常心跳。
可是排除各种干扰移植到32上,一样的程序,一样的硬件,为什么51上的显示数值是100以内,而32上显示都超过200以上,明显不对。

说下原理,51上用了2个定时器,分别定时1ms和10ms,32上   TIM4_Int_Init(99,7199);//1ms
                                                                                                  TIM3_Int_Init(999 ,7199);//10ms中断一次
心跳检测算法那里是完全做移植的。。
那位大哥能给我指出以下问题呀??

是时钟问题?32运行速度快???但是我定时中断设定时间是一样的呀。
定时器初始化那里我直接用战舰的实验。

再不玩命努力,你就老了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-4 16:50:19 | 显示全部楼层
定时器初始化,定时器4和3除了中断优先级那里设置不同外其余一样 

void TIM3_Int_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能

//定时器TIM3初始化
TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值
TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位
 
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中断,允许更新中断

//中断优先级NVIC设置
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //从优先级3级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure);  //初始化NVIC寄存器

   
TIM_Cmd(TIM3, ENABLE);  //使能TIMx  
}
再不玩命努力,你就老了
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-4 18:01:17 | 显示全部楼层
自己顶一个把
再不玩命努力,你就老了
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11551
金钱
11551
注册时间
2014-4-1
在线时间
1316 小时
发表于 2015-9-4 21:31:17 | 显示全部楼层
用 IO 输出脉冲,实际测量一下定时长度。
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-9-4 21:50:54 | 显示全部楼层
你这两个定时器配置明细不对   一个10ms   一个100ms
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-4 22:08:28 | 显示全部楼层
回复【5楼】lycreturn:
---------------------------------
这个是我拷贝的错误,
函数中我设置的是

 TIM4_Int_Init(9,7199);
TIM3_Int_Init(99 ,7199);//10ms中断一次
再不玩命努力,你就老了
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-4 22:09:39 | 显示全部楼层
回复【5楼】lycreturn:
---------------------------------
按照这个还是不对
再不玩命努力,你就老了
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-4 22:11:34 | 显示全部楼层
回复【5楼】lycreturn:
---------------------------------
没太明白您的意思。。
您的意思是定时器问题?
那我这个行不行 在定时执行函数中 用LED0=!LED0;
然后软件仿真,看看引脚的高低电平?
再不玩命努力,你就老了
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-9-4 22:18:12 | 显示全部楼层
回复【7楼】逍遥居士_888:
-------------------------------
那有可能其他地方的问题了   其他的我也没法看出问题
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-9-4 22:22:02 | 显示全部楼层
回复【8楼】逍遥居士_888:
---------------------------------
我只是说可能     因为我不知道  您测试这个心率的思路是什么    所以我也无从下手
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-4 22:27:26 | 显示全部楼层
回复【4楼】xuande:
---------------------------------
没太明白您的意思。。 
我这里不是定义PA0为上拉输入吗?  在学习版上它是连接按键的

刚才我显示PA0输入脉冲数值,可是发现,即使我把跳线拿走,PA0引脚还是有脉冲。。。

不知道我说明白了吗?  就是我不加传感器的时候 我定义的输入引脚上有脉冲数值显示。。。
再不玩命努力,你就老了
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-4 22:30:54 | 显示全部楼层
【3楼】xuande:
---------------------------------
不对 我蒙圈了  我再好好研究下原理 在说吧 谢啦
再不玩命努力,你就老了
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-4 22:31:40 | 显示全部楼层
回复【10楼】lycreturn:
---------------------------------
不对 我蒙圈了  我再好好研究下原理 在说吧 谢啦
再不玩命努力,你就老了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 02:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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