博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
stm32 cubemx hal 工程中 微秒延迟 delay_us
阅读量:4632 次
发布时间:2019-06-09

本文共 1961 字,大约阅读时间需要 6 分钟。

参考的正点原子的代码

 

测试平台

stm32f429i-disco

配了一个gpio

时钟

gpio

 

/* USER CODE BEGIN 0 */typedef uint8_t u8;typedef uint32_t u32;u8 fac_us;void delay_init(u8 SYSCLK){    #if SYSTEM_SUPPORT_OS //?????? OS.        u32 reload;    #endif        HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);    //SysTick ??? HCLK    fac_us=SYSCLK; //?????? OS,fac_us ?????        #if SYSTEM_SUPPORT_OS //?????? OS.        reload=SYSCLK; //???????? ??? K        reload*=1000000/delay_ostickspersec; //?? delay_ostickspersec ??????        //reload ? 24 ????,???:16777216,? 180M ?,?? 0.745s ??        fac_ms=1000/delay_ostickspersec; //?? OS ?????????        SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk;//?? SYSTICK ??        SysTick->LOAD=reload; //? 1/OS_TICKS_PER_SEC ?????        SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; //?? SYSTICK        #else    #endif}void delay_us(u32 nus){    u32 ticks;    u32 told,tnow,tcnt=0;    u32 reload=SysTick->LOAD; //LOAD ??    ticks=nus*fac_us; //??????    told=SysTick->VAL; //?????????    while(1)    {        tnow=SysTick->VAL;        if(tnow!=told)        {            if(tnow
=ticks)break; //????/????????,???. } };}/* USER CODE END 0 */
int main(void){  /* USER CODE BEGIN 1 */  /* USER CODE END 1 */  /* MCU Configuration----------------------------------------------------------*/  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */  HAL_Init();  /* Configure the system clock */  SystemClock_Config();  /* Initialize all configured peripherals */  MX_GPIO_Init();  /* USER CODE BEGIN 2 */    delay_init(168);  /* USER CODE END 2 */  /* Infinite loop */  /* USER CODE BEGIN WHILE */  while (1)  {  /* USER CODE END WHILE */    HAL_GPIO_WritePin(GPIOF, GPIO_PIN_7, GPIO_PIN_SET);    delay_us(50);    HAL_GPIO_WritePin(GPIOF, GPIO_PIN_7, GPIO_PIN_RESET);    delay_us(50);  /* USER CODE BEGIN 3 */  }  /* USER CODE END 3 */}

 

 

 

实际测试, 函数调用能带来几百ns的误差. 

 

转载于:https://www.cnblogs.com/zhaitao85/p/5736049.html

你可能感兴趣的文章
路由转发
查看>>
UITableView
查看>>
MySQL笔记
查看>>
SQL查询强化训练(2)
查看>>
Django 分页
查看>>
layuiAdmin 项目修改
查看>>
创新点子:博客图文混编工具
查看>>
NSUserDefault、NSMutableDictionary的setValue和setObject区别
查看>>
TreeSet&第三方比较器&Map
查看>>
经典算法mark
查看>>
http://channel9.msdn.com/Events/MIX
查看>>
静态页面:html5个人博客模板《绅士》
查看>>
mvc 基础概念
查看>>
mysql数据恢复
查看>>
kali 插耳机没声音
查看>>
Codeforces Round #294 (Div. 2) D. A and B and Interesting Substrings
查看>>
如何巧妙使用ZBrush中的Image Plane插件
查看>>
windows安装theano和keras
查看>>
141. Linked List Cycle
查看>>
169. Majority Element
查看>>