今天调试一个程序,因为Feedback是电流采样值,Setpoint是PWM值,这两个不可能是负值.所以以为Setpoint和Feedback这两个变量都可以设置为u16型(unsigned int),结果悲催了,CPU总是跑飞.导致LED暴亮,差点烧掉... 原因是两个unsigned型数据相减后不能为负值.如: PIdata->Setpoint - PIdata->Feedback 所以,要保证其中有一个是signed 型,系统就默认相减的结果为signed型,程序可以正常运行. type…