先用到STM8L151芯片 ,有21路AD转换,在0V输入时,每路的AD转换值也有1540,Vref+链接的是VCC电源端,找了好久不知道什么原因,请高手支招。谢谢!下面是代码: void ADCinit(void) { ADC1_CR1 = 0x00; ADC1_CR2 = 0x02;//0x02 0~23通道AD16分频寄存器 ADC1_SR = 0x00; ADC1_TRIGR1 = 0x00; ADC1_TRIGR2 = 0xff;//禁止AIN16~AIN23施密特触发 ADC1_TRIGR3 = 0xff;//禁止AIN8~AIN15施密特触发 ADC1_TRIGR4 = 0xf8;//禁止AIN3~AIN7施密特触发 ADC1_SQR1 = 0x80;//禁用DMA模块 ADC1_SQR2 = 0x00; ADC1_SQR3 = 0x00; ADC1_SQR4 = 0x08;// ADC1_CR1 |= 0x01;//使能ADC Delay_us(20); ADC1_CR1 |= 0x02;//启动ADC } void ADConvert(void) { unsigned int ADCValue=0; if(!(ADC1_SR&0x01))return; ADC1_SR &= 0xfe;//清除转换标志 //ADCValue = ADC1_DRL; <span style="color: rgb(34, 34, 34); font-family: sans-serif; font-size: 14px; line-height: 21px; background-color: rgb(238, 238, 238); "> //ADCValue |= ADC1_DRH |
从零开始操作STM8寄存器(风驰iCreate奉献)
【中文资料】初学STM8库函数的中文帮助软件
绝对经典的中文STM8学习手册,淘宝上学习板资料,友情大放送!
【原创教程】风驰iCreate独家开源STM8 27个例程和10多万字的pdf教程
STM8的LCD1602 4线驱动,为什么不工作
【精华资料】由零开始开发STM8
STM8S 的触摸库是如何在主程序中查询键的呢、
【精华资料】STM8的C语言编程1-14讲完整版
【精品教程】STM8系列单片机入门教程系列
STM8 第一次进中断不准【悬赏问答】
回复:STM8L151 0输入时,AD转换值很大
你的采集数据是左对齐还是右对齐的? 数据是采集了15次求平均值吗?代码不完整……
回复:STM8L151 0输入时,AD转换值很大
看得很蛋疼,……建议学习使用库函数
你的采集数据是左对齐还是右对齐的? 数据是采集了15次求平均值吗?代码不完整……
谢谢回复,代码是完整的,数据是采集16次求平均值?STM8L好像没有采集数据左对齐或右对齐的寄存器设置吧?
回复:STM8L151 0输入时,AD转换值很大
回复第 2 楼 于2014-04-15 16:51:37发表:
看得很蛋疼,……建议学习使用库函数
你的采集数据是左对齐还是右对齐的? 数据是采集了15次求平均值吗?代码不完整……
谢谢回复,代码是完整的,数据是采集16次求平均值?STM8L好像没有采集数据左对齐或右对齐的寄存器设置吧?
以为是stm8s。对于stm8l不熟悉,看看芯片手册数据对齐方式,代码完整不完整,我看不到main函数。等高手来帮忙把
回复:STM8L151 0输入时,AD转换值很大
回复第 3 楼 于2014-04-15 17:45:14发表:
回复第 2 楼 于2014-04-15 16:51:37发表:
看得很蛋疼,……建议学习使用库函数
你的采集数据是左对齐还是右对齐的? 数据是采集了15次求平均值吗?代码不完整……
谢谢回复,代码是完整的,数据是采集16次求平均值?STM8L好像没有采集数据左对齐或右对齐的寄存器设置吧?
以为是stm8s。对于stm8l不熟悉,看看芯片手册数据对齐方式,代码完整不完整,我看不到main函数。等高手来帮忙把
谢谢你的关注。
RE:STM8L151 0输入时,AD转换值很大
2、调整输入,看ad值是否变化,从而确定你的软件有没有问题。
如果输入变化,ad成比例变化,肯定是参考电压设置有问题