/* -------------------------------------------------------------------------- */ /* ROUTINE NAME: ADC_Init */ /* INPUT/OUTPUT: None. */ /* DESCRIPTION: Initialize the AD converter. */ /* -------------------------------------------------------------------------- */ void ADC_Init(void) { ADC_CR2 = 0x00; ADC_CR1 = 0x00; ADC_CSR = 0x03; ADC_TDRL = 0x20; } 以上是ST官方套件板上的AD初始化的例程,ADC_CR2,ADC_CR1,ADC_CSR 这三个好理解,ADC_TDRL是ADC施密特触发器禁止寄存器低位,置位是为降低IO静态功耗,如果是这样,目前用到的是AIN3,为什么例程里只关闭了AIN5口的施密特触发,处于功耗考虑的话,实际功能上的话不关闭应该也是不影响的吧? |
STMS005K6T6 如何采集内部参考电压。
stm8s003 adc中断和通道切换的问题
adc施密特触发器stm8
stm8l051f3 TSSOP20 封装,待机模式下,2天后,电流突然增加到140UA
STM8S用STVP烧录怎么加密?
如何使用ST官网例程_LIN总线通讯_STM8AF
STM8 LIN
IAR代码编辑太费劲了,想问一下有没有好的方法,试了VScode但是头文件老是报错,调了很久也没调好,想换个方法了。
想问一下各位大佬,IAR下载调试代码时出现 warning: is an illegal data sample expression IAR是什么意思啊?
STM8S标准库TIM1编码器功能不计数,请大师帮我看看
首先,你要正确理解单片机IO口的结构,具体框图可见参考手册。
其次,你要正确理解施密特触发器在IO口中的作用,与普通的门电路不同,施密特触发器有两个阈值电压,分别称为正向阈值电压和负向阈值电压。在输入信号从低电平上升到高电平的过程中使电路状态发生变化的输入电压称为正向阈值电压,在输入信号从高电平下降到低电平的过程中使电路状态发生变化的输入电压称为负向阈值电压。他是作为数字输入时滤波用的。
最后,既然施密特触发器只作为数字输入时的滤波,那么在模拟输入时他就没什么作用了,为了你的采样更准确,那就把他关闭吧。至于关哪个,哪个用做模拟输入口,那就关哪个。
IOå£ç»ææ¡å¾
多谢讲的这么细,学到不少。软件之前接触少,都只负责电路板这块。电路上用的是AIN3,如果按照这样的话AIN3应该关掉,但是官方例程里关了AIN5,所以我一直弄不明白他的程序这样到时是为什么,处于什么原因关闭AIN5。
用的是STM8S105S4K6,定义上串口和AD脚没有复用,所以应该不是因为通信
你要根据自己的实际情况来写,明白吗?官方例程里可能用的模拟输入就是AIN5