OpenEdv-开源电子网

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

机器周期、时钟周期、指令周期

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-12-1
在线时间
0 小时
发表于 2014-12-2 13:05:39 | 显示全部楼层 |阅读模式
5金钱
其实,我就是想测试一个继电器吸合的延时时间,不用定时器的话,也可以做的出来,就是用#include "delay.h" 
#include "sys.h" 
#include "usart.h" 
 int main(void) 
 { 
  long i=0; 
long n=0; 
float t1,t2; 
delay_init();        
uart_init(9600);   
   
 while(1) 

  if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_5)==0&i==0) 
  {    
  delay_ms(10); 
  GPIO_SetBits(GPIOB,GPIO_Pin_0); 
    while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2)==0) 
         { 
          i++;
         } 
printf("\r\n?????÷?ü?????±\r\n"); 
    t1=(float)i/10000; 
  printf("%f",t1); 
      } 
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_5)==1&i!=0) 
  { 
  GPIO_ResetBits(GPIOB,GPIO_Pin_0); 
    while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2)==1) 
   { 
    n++; 
   } 
printf("\r\n?????÷???????±\r\n"); 
    t2=(float)n/10000; 
  printf("%f",t2); 
        i=0; 
        n=0;   

  } 
}这里面的i和n能换算成具体时间的吗 
好像还需要了解指令周期什么的?

最佳答案

查看完整内容[请看2#楼]

是可以做出来,只是你得花大量的时间去计算,精确统计。然后效果还不好。 比如换个频率,你又得计算半天了。 所以,既然有systick何不用之?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-12-2 13:05:40 | 显示全部楼层
是可以做出来,只是你得花大量的时间去计算,精确统计。然后效果还不好。
比如换个频率,你又得计算半天了。

所以,既然有systick何不用之?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-28 09:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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