
如题,STM8S003F3P6做的驱动板,启动外部16MHz时钟,UART, TIMER, GPIO, 中断等一切工作正常,整个系统运行也很OK。但当加入ADC初始化时,无法写入ADC的寄存器(CSR CR1, CR2等, 不管怎么写入,总是0),ADC无法工作。 但诡异的时,同样的代码,只是去掉启动外部16MHz时钟的代码,仍然使用缺省时钟,则ADC就可以正常初始化和工作了,其它也一切工作正常。 高手们,谁有关于STM8S003的ADC更进一步的说明,是不是ADC在16MHz时钟上无法工作? |
申明,STM8S003芯片换过新的,还是一样的现象,因此排除芯片有坏的可能。 |
新加的初始化代码是不是把外设的总时钟关掉了?另外注意ADC模块的时钟最大6M,5v条件下,一般用4M.详情请参考手册 |
是的,后来仔细看了启动晶振时钟的代码,里面确实关掉了ADC的时钟。打开时钟上就工作正常了。谢谢你的提醒,非常感谢。 |