之前工程中用的延时函数都是2个for嵌套,不是很准确,既然学习HET和RTI可以做一个精
确的延时函数,找到一篇参考文章:IAR For Arm 的精确定时及延时等_jayacham的专栏-CSDN博客,
文章中写得很清楚了不再赘述。为了便于观察延时时间是否准确,还是用了gioa0的电平来查
看。
HCG配置gioa0为输出,RTI不用设置,时钟默认,其他默认即可。
先看下delay函数:
/*
* rti_delay.c
*
* Created on: 2021年7月4日
* Author:
*/
#include "rti_delay.h"
uint32 rtiGetMyTick(uint32 compare)
{
uint32 tick;
uint32 counter = ((rtiREG1->COMPCTRL & (1U << (compare << 2U))) !=0U ) ? 1U : 0U;
/* USER CODE BEGIN (27) */
tick = rtiREG1->CNT[counter].FRCx;
/* USER CODE END */
return tick;
}
void rtiDelay_ms(uint32_t msec)
{
uint32_t curTick = rtiGetMyTick(rtiCOMPARE0);
uint32_t endTick = curTick + msec * 1000 * 10; /*