在AVR中,频率与占空比的两者是不可兼得的,也就是说你想要高的频率,那你就会牺牲你占空比的分辨率,比如我想输出一个22K的PWM波,用ATMEGA16,采用16M晶振,那么我OCR1A中就是363,而我OCR1B中只能是在0-363之间,也就是占空比在0-100%,也就是我OCR1B中改变3.63而我占空比就会变1%,这个分辨率不是很高,想提高这个分辨率,只有提高晶振,而ATMEGA16最大只支持16M,也就是说没有办法提高,假如我要输出更高的频率,占空比的分辨率会更低,艾特梅尔公司能不能改变一下思路?OCR1B是个16位的寄存器,把它专门设置成改变占空比的寄存器,也就是说,OCR1A是用作产生频率的,而OCR1B就是控制占空比的,0-65535对应占空比为0-100%,无论多大频率,我的占空比都是用0-65535来调,小弟有感而发,请各位大侠指教! |