延时函数怎么确定时间

我想用基于msp430单片机实现一个功能,使用c语言写程序,然后需要用到延时函数,我目前的想法是用循环,但是不知道循环多少次才算是一秒,也百度了一下,还是一知半解,难道我只能一次次实践来确定吗?想请问一下还有没有别的办法

空循环不容易精确控制时间,一般用于粗略的延时控制,或者时间很短的延时
要细调的话,一般是先大概确定个数值,然后根据实测情况调整
你这个时间这么长,其实用定时器更合适。

循环中

clock_t start_t, end_t;
double total_t;
start_t = clock();

while(1){

    end_t = clock();
    total_t = (double)(end_t - start_t) / CLOCKS_PER_SEC;//经过的秒数
    if(total_t > 5) //5秒后执行操作
    {
            do something
            start_t = clock(); //重新开始计时
    }

    
}