微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STM32的最短延时能少于1us吗,谢谢了

STM32的最短延时能少于1us吗,谢谢了

时间:10-02 整理:3721RD 点击:
     在做产品改进的时候,需要用到正弦波,先存储数据,然后DA转换为正弦波。在做调试的时候,要求用到6000HZ的正弦波,现在最短延时是1us,我用一个周期12个点来仿真正弦波,但由于波形不平滑,后期很麻烦,现在要加点,因此只能延时再短一些。能不能加晶振,或者用系统时钟72MHZ,做出延时短于1us的精确延时。谢谢大家了!

这个需求可以用DDs
,直接产生正弦波

这个需求可以用DDs
,直接产生正弦波

STM32产生不了小于1us的延时吗

精确延时没用定时器吗?

若是有用到时钟,1M就是1us。72M的话用系统时钟做定时器的时钟源,应该能做ns级别的延时
或者  直接systick  不怕你小 就怕你大

确实是,我也是这么想的!但是72Mhz的话,每计一次数是增加1/72us,不是整数,做延时的话,会不准确吧!

stm32不能完成这个 可以考虑使用CPLD

DAC可以用定时器触发的,外挂DMA总线,可以做到6K

能稍微细讲一下吗

/*---------------------------------
函数名:延时调整形式的delaynus函数,
描 述:参数1即为1us,1000即为1ms;
-----------------------------------*/
void delay_nus(unsigned long n)
{
unsigned long j;
while(n--)
{
j=12;
while(j--);
}
}

顶一下!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top