OpenEdv-开源电子网

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

实时监测加速度传感器来判断是否移动,还要完成两个串口的收发,如何才能兼顾?请大神们帮忙

[复制链接]

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2014-8-4
在线时间
35 小时
发表于 2014-8-4 10:16:52 | 显示全部楼层 |阅读模式
5金钱
我现在实时监测加速度传感器来判断终端是否移动,然后还要通过两个串口实现收发。
我通过定时器来监测加速度传感器,串口2发送指令并获取位置信息,串口3等待指令并发送相关信息;
现在的情况是,加上加速度传感器。两个串口就不能正常工作了,请大神们指点一下!!!

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

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1843
金钱
1843
注册时间
2014-6-27
在线时间
983 小时
发表于 2014-8-4 10:37:36 | 显示全部楼层
不是程序流程问题,就是设置问题。
回复

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2014-8-4
在线时间
35 小时
 楼主| 发表于 2014-8-4 10:53:27 | 显示全部楼层
回复【2楼】TinyBoy:
---------------------------------
能说的详细些吗?应该是什么流程那
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1843
金钱
1843
注册时间
2014-6-27
在线时间
983 小时
发表于 2014-8-4 10:58:09 | 显示全部楼层
不知道你程序怎么写的啊,如果扫描传感器很长时间,又不能做其他事情,串口又不是用中断等等都有可能。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-4 11:00:04 | 显示全部楼层
仿真跟踪代码,看看是为什么没有执行。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2014-8-4
在线时间
35 小时
 楼主| 发表于 2014-8-4 11:08:46 | 显示全部楼层
回复【4楼】TinyBoy:
---------------------------------
我是通过定时器100ms中断采集加速度传感器,串口2通过指令获取数据,串口3等待命令发送相应的信息。串口2、串口3都是采用中断接收
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1843
金钱
1843
注册时间
2014-6-27
在线时间
983 小时
发表于 2014-8-4 11:11:33 | 显示全部楼层
单独测试串口OK不?如果单独测试OK,加进传感器的时候,看看是不是设置有问题,把串口的一些设置给改动了,如果没有,就是程序其他问题了。
回复

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2014-8-4
在线时间
35 小时
 楼主| 发表于 2014-8-4 11:18:20 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
我先前设定的定时器10ms中断,感觉程序一直在定时器中断里;现在改为100ms,但是现在串口接收数据出现了问题?
请问我现在这是流程问题,还是代码的问题啊?请指导一下思路,谢谢!!
回复

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2014-8-4
在线时间
35 小时
 楼主| 发表于 2014-8-4 11:20:57 | 显示全部楼层
回复【7楼】TinyBoy:
---------------------------------
单独测试都没问题,放在一起就出问题了!
这样做可以实现吧?
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1843
金钱
1843
注册时间
2014-6-27
在线时间
983 小时
发表于 2014-8-4 11:22:26 | 显示全部楼层
定时器中断时间长短不是问题,如果不是设置问题,就是流程问题了,多检查一下代码吧,应该说串口用中断方式更好写才对。
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1843
金钱
1843
注册时间
2014-6-27
在线时间
983 小时
发表于 2014-8-4 11:24:22 | 显示全部楼层
你可以先做个测试,把读到的传感器数据不断的通过串口发送,先不接收,发送OK了,再做接收。
回复

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2014-8-4
在线时间
35 小时
 楼主| 发表于 2014-8-4 11:27:01 | 显示全部楼层
回复【11楼】TinyBoy:
---------------------------------
好的,非常感谢
回复

使用道具 举报

0

主题

10

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2013-12-14
在线时间
8 小时
发表于 2014-8-4 12:41:44 | 显示全部楼层
是不是代码有冲突呢?建议楼主还原最原始的状态,然后一点一点往里加,看看问题在哪部分出现了,这样就可以定位问题啦
回复

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2014-8-4
在线时间
35 小时
 楼主| 发表于 2014-8-4 14:36:47 | 显示全部楼层
回复【13楼】绚紫:
---------------------------------
嗯。好的
我正在一点点调试。
回复

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2014-8-4
在线时间
35 小时
 楼主| 发表于 2014-8-4 14:58:27 | 显示全部楼层
 为什么我的定时器中断设为10ms程序就无法正常运行,设为100ms就正常了那????

void TIM2_IRQHandler(void)  
{
    if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)  
  {
     TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
    DMARD07_Read_Average(&x,&y,&z,10);//读取加速度传感器
   if(isFirst)
   {
    oldx=x;
    oldy=y;
        oldz=z; 
        isFirst=0;    
      }else
   {
     if(x-oldx>10|y-oldy>10|z-oldz>10)
     {
       isAlarm=1;
         }
     oldx=x;
     oldy=y;
         oldz=z; 
      }  
    //printf("X:%d,Y:%d,Z:%d\r\n",x,y,z);
  }
}
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-4 15:18:26 | 显示全部楼层
DMARD07_Read_Average,读这个,需要多久?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

11

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2014-4-18
在线时间
4 小时
发表于 2014-8-5 13:33:45 | 显示全部楼层
DMARD07_Read_Average我也觉得是这个函数的问题
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-4 11:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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