请教版主,STC8H3K64S4的PWM触发AD的例程为啥不行?
STC8H3K64S4 号称真正 12位的AD(之前的是假的?)、史上最强PWM,片子到手后、正好试试这个史上最强PWM触发真正的12BIT-AD,结果按照例程死活不行,只能转换一次、不能连续转换,能指点一下吗?AD初始化:
ADCTIM = 0x3F ;
ADCCFG = 0x20 ;
ADC_CONTR = 0x90 | a ;
Delay();
EADC=1;
//
PWMA_CR2 = 0x10;
PWMA_ARRH =0x02;
PWMA_ARRL =0x70;
PWMA_PSCRH =0x00;
PWMA_PSCRL =0x02;
PWMA_CR1 = 0x01; PWMA_CR2 = 0x20;
只用更新触发即可。 小李非刀 发表于 2021-12-23 18:07
PWMA_CR2 = 0x20;
只用更新触发即可。
可以了!
不过你们这数据手册写的,真是一言难尽啊,,, EMC菜鸟 发表于 2021-12-24 08:48
可以了!
不过你们这数据手册写的,真是一言难尽啊,,,
手册写的是单次触发的,你要的是每次PWM周期都要触发。我也是测试了才知道,而我的程序是每次PWM周期开始就触发ADC,所以给的值就是0x20。如果要延时一下再触发,则要在更新中断中设置一个定时器延时才行。
页:
[1]