找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1446|回复: 7
收起左侧

请教一个问题 ST32M4 里面的延时问题

[复制链接]
ID:275111 发表于 2021-11-11 15:17 | 显示全部楼层 |阅读模式
1.  做模拟I^2C 里面的延时. 我看到了一段注释 (里面的延时是使用逻辑分析仪测量出来的)(MCU 频率是72MHz)
2.  里面用的一个 for循环

请教下 这个靠谱吗?这个是否开一个定时器比较准确?而且如果换一个 mcu 那每次都要测量时钟?
回复

使用道具 举报

ID:702863 发表于 2021-11-11 16:02 | 显示全部楼层
使用SysTick定时器延时呗
回复

使用道具 举报

ID:624769 发表于 2021-11-11 16:14 来自手机 | 显示全部楼层
为什么要模拟?用硬件不好?
回复

使用道具 举报

ID:275111 发表于 2021-11-15 14:56 | 显示全部楼层
a1093941419 发表于 2021-11-11 16:02
使用SysTick定时器延时呗

谢谢指导。
回复

使用道具 举报

ID:446156 发表于 2021-11-15 16:13 | 显示全部楼层
IIC中的延时是us级别的并且不需要太精确可以用for循环来做
回复

使用道具 举报

ID:879348 发表于 2021-11-15 16:18 | 显示全部楼层
事实上i2c对延时并不敏感,不要多虑了
回复

使用道具 举报

ID:139866 发表于 2021-11-15 16:52 | 显示全部楼层
最好用示波器测一下,有时候真的很麻烦
回复

使用道具 举报

ID:887202 发表于 2021-11-15 18:17 | 显示全部楼层
我感觉用for循环的方式做I2C的延时挺好的,特别是速度比较快的IIC,延时都在us级别,先用nop指令定义一个以1us延时为基数的带参数的的delay函数,延时就可以用这个函数来掩饰,休要修改I2C速度的时候就可以通过改参数的方式来实现,移植或者是换了不同频率的晶振该函数的时候也很方便,只需要改一下delay函数就可以
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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