打印
[CW32L083系列]

CW32L031 嘀嗒 定时器 怎样定时1us

[复制链接]
1841|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tang87633187|  楼主 | 2024-4-5 11:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CW32L031  嘀嗒定时器 怎样定时1us,以便DS18B20,DHT11使用。提供一下代码

使用特权

评论回复
沙发
chenjun89| | 2024-4-5 11:51 | 只看该作者
嘀嗒定时器是1ms,可以用定时器。

使用特权

评论回复
板凳
lulugl| | 2024-4-7 07:17 | 只看该作者
可以用_NOP()来实现,如果再精准,用定时器来生成。

使用特权

评论回复
地板
WoodData| | 2024-4-7 09:33 | 只看该作者
要精准还是定时器好

使用特权

评论回复
5
pssyx| | 2024-4-7 10:08 | 只看该作者
#define CNT_SYSTICK 8   //默认SYSTICK时钟为8MHz
/**********************************************************************
*函数名:delay_us
*功  能:延迟1us
*参  数:us,最大2^24/CNT_SYSTICK
*返  回:无
*备  注:无
**********************************************************************/
void delay_us(uint16_t us)
{
        SysTick->LOAD = us * CNT_SYSTICK;    //装载计数值
        SysTick->VAL = 0;                    //清空当前值
        SysTick->CTRL |= 1;                  //使能计数器
        while(!(SysTick->CTRL & (1 << 16))); //等待计数结束
        SysTick->CTRL &=~ 1;                 //关闭计数
}

延时代码请参考,也可以参考本站链接:
https://bbs.21ic.com/icview-3286124-1-1.html

使用特权

评论回复
6
星辰大海不退缩| | 2024-4-21 13:52 | 只看该作者
其实最终还是嘀嗒时钟的使用过程

使用特权

评论回复
7
OKAKAKO| | 2024-5-11 19:52 | 只看该作者
滴答时钟很重要的一个时钟计时工具

使用特权

评论回复
8
gouguoccc| | 2024-5-13 19:53 | 只看该作者
用定时器定时或者软件定时,这两个外设对时序要求不高。

使用特权

评论回复
9
forgot| | 2024-5-15 08:44 | 只看该作者
用内核的systick滴答定时器就可以了,根据内核时钟进行配置,很简单的,一般官方有例程

使用特权

评论回复
10
前车后炮| | 2024-5-16 17:53 | 只看该作者
定时器应该就可以

使用特权

评论回复
11
中国龙芯CDX| | 2024-5-20 18:11 | 只看该作者
pssyx 发表于 2024-4-7 10:08
#define CNT_SYSTICK 8   //默认SYSTICK时钟为8MHz
/*************************************************** ...

感谢分享参考嘀嗒时钟

使用特权

评论回复
12
AdaMaYun| | 2024-5-20 19:40 | 只看该作者
定时器应该就可以实现这个功能

使用特权

评论回复
13
LOVEEVER| | 2024-5-21 09:26 | 只看该作者
如果使用定时器会不会不稳定存在无法准确定时的现象呢?

使用特权

评论回复
14
jf101| | 2024-5-21 14:05 | 只看该作者
lulugl 发表于 2024-4-7 07:17
可以用_NOP()来实现,如果再精准,用定时器来生成。

_NOP()是不是不算太精确?

使用特权

评论回复
15
szt1993| | 2024-5-21 16:02 | 只看该作者
楼主可以直接在定时器函数中自己进行中断处理进行定时操作

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

81

帖子

0

粉丝