Cortex-A8怎么写延时函数

2019-07-16 09:14发布

我想用S5PV210做个温湿度检测系统,用的温湿度传感器是DHT11,该传感器对时序要求挺高的,一般需要延时函数10us,51的延时函数很好写,但是这个我没写过,根本不能确定机器周期是多少,而且写出来也不好验证到底是延时了多长时间。卡了好久,希望大神们帮我解决下,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
wwwunix
1楼-- · 2019-07-16 10:56
1、如果延时精度要求高,建议用定时器。
2、可以在某个管脚定时拉高拉低,然后用示波器测量。
copper_matrix
2楼-- · 2019-07-16 13:35
不带操作系统的话,可以使用如下代码,但是要求你知道,处理器的机器周期
,一般看看 data sheet 和 系统时钟寄存器之后,就可以知道系统时钟了,这个
是基本要求。
/*************************************/
/*with out optimize      cycle       */
/*next : nop               1            */
/*       ...              ...               */
/*       mov  r2,r1        1           */
/*       subs r1,r1,#1     1          */
/*       cmp  r2,#0x00     1        */
/*       bne  next         3            */
/*************************************/

while (delay_count--) {
                __nop();
                __nop();
                __nop();
                __nop();
        };
黄龙茂
3楼-- · 2019-07-16 14:47
copper_matrix 发表于 2014-10-20 15:02
不带操作系统的话,可以使用如下代码,但是要求你知道,处理器的机器周期
,一般看看 data sheet 和 系统时 ...

处理器的频率是1GHZ的,是不带系统的,这个_nop()是自己另外用汇编写的?
copper_matrix
4楼-- · 2019-07-16 20:27
你用ARM给的任何编译器,它都支持这个东西。
黄龙茂
5楼-- · 2019-07-17 00:13
 精彩回答 2  元偷偷看……
黄龙茂
6楼-- · 2019-07-17 00:53
copper_matrix 发表于 2014-10-20 16:43
你用ARM给的任何编译器,它都支持这个东西。

哦  我试试看   谢谢

一周热门 更多>