很多例程都是太理想化,想当然,并没有考虑实际应用带来的问题。
任何一条指令都是要时间的。
都要考虑这条指令执行的时间是否对整个功能有影响。
比如,前段时间在搞个恒压电流反馈
首先保证ADC采样率不能变,然后在每次ADC间隔完成计算。
为了保证反馈计算的时间足够,还特意搞到个IO口上,看时间,如下图。
ADC总共是三个通道,其中时间最短(占空比最小)的是没有反馈计算,另一个有计算时间相对较短的是电流反馈,计算时间长(占空比最大)的是电压反馈。
电压反馈计算时间长,是因为还要做两次计算输出值的比较,并把参数写到PWM模块。