OpenEdv-开源电子网

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

定时时钟硬件调试的时候单步执行时间不准

[复制链接]

26

主题

34

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
494
金钱
494
注册时间
2012-4-20
在线时间
13 小时
发表于 2012-6-16 11:53:06 | 显示全部楼层 |阅读模式

1、 问一个问题啊,设定定时时间后,进行硬件调试的时候,在中断处设置一个断点,全速运行调试的时候,时间有时对,有时候不对,不知道什么原因。我已经将TRACE中10M改为72M, ENABLE也选上啦,望高手指教。

2、我最近写一个程序用到排序,数组大小为14320个数据,采用冒泡法排序,运行一下大概需要花费160秒左右,有没有什么好办法可以将运行时间变小啊。我主要是对数据进行排序,然后取中间的数据,主要是数字滤波,望高手能提供一些好方案。

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-6-16 14:22:02 | 显示全部楼层
1,这个可能和M3的分支预测有关,硬件可能是准确的,只是有时候结果不完全一致而已.如果想精确计时,自己弄个定时器,就绝对正确了.
2,百度比较好:http://zhidao.baidu.com/question/152644373.html
http://baike.baidu.com/view/115472.htm
C语言程序:

/*    快  速  排  序    */
#include "stdio.h"

void QuickSort(int e[], int first, int end)
{
int i=first,j=end,temp=e[first];
while(i<j)
  {
while(i><j && e[j]>=temp)
j--;
e=e[j];
while(i<j && e><=temp)
i++;
e[j]=e;
  }
e=temp;
  if(first<i-1)
   QuickSort(e,first,i-1);
if(end>i+1)
QuickSort(e,i+1,end);
}

void main()
{
int arr[] = {49, 38, 65, 97, 76, 13, 27, 49};
int len = 8;
int i;
printf("before sort\n");
for(i=0; i<len; i++)
printf("%d  ", arr);
printf("\n");

QuickSort(arr, 0, len-1);

printf("after sorted\n");
for(i=0; i><len; i++)
printf("%d  ", arr);
printf("\n");
}>
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-6-16 14:23:36 | 显示全部楼层
试试上面这个算法,需要多久.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

26

主题

34

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
494
金钱
494
注册时间
2012-4-20
在线时间
13 小时
 楼主| 发表于 2012-6-16 20:46:10 | 显示全部楼层
上面定时我就是用定时器做的啊,还有实验板的例子定时器中断,0.5MS我也试验了一下,软件仿真是正确,硬件仿真时间不对,不知道为何?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 07:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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