freeze_chen
获得 1 次赞
帮助过2人
1. 根据你的延时时长需求,配置定时器,产生定时中断,如1ms;2. 设置全局变量,如t_delay_cnt;在定时中断中递减:if (t_delay_cnt > 0) { t_delay_cnt--; } 3. 延时子函数的实现,可参考:/@@* 功能:延时子函数 输入:n_ms 延时时间n毫秒 */ void delay_ms(unsigned int n_ms) { t_delay_cnt = n_ms; while (t_delay_cnt); } 注意:该方法存在<=1ms的误差。
作为一名单片机工程师,最难受的还是调试到最后发现使用当前MCU存在一个无法解决的需求,需要更换单片机;其实问题还是出在单片机选型上,前期考虑问题不够全面,经验在这个时候就显得尤为重要。