K60 ADC
来源:互联网 发布:php程序员的发展方向 编辑:程序博客网 时间:2024/05/22 08:14
今天我又花样作死看了一下K60在用LPLD固件库下ADC的使用
//配置ADC采样参数 adc_init_struct.ADC_Adcx = ADC1; adc_init_struct.ADC_DiffMode = ADC_SE; //单端采集 adc_init_struct.ADC_BitMode = SE_8BIT; //单端12位精度 adc_init_struct.ADC_SampleTimeCfg =SAMTIME_SHORT; //短采样时间 adc_init_struct.ADC_HwAvgSel = HW_4AVG; //4次硬件平均 adc_init_struct.ADC_CalEnable = TRUE;//使能初始化校验 //初始化ADC LPLD_ADC_Init(adc_init_struct); //为了保证复用功能不被占用,最好使能相应ADC通道 //RUSH开发板的电位器使用DAD1通道进行采集 //单端DAD1通道的引脚为(ADC1_DM1) LPLD_ADC_Chn_Enable(ADC1,AD20);
gpio_init_struct.GPIO_PTx = PTA; gpio_init_struct.GPIO_Pins =GPIO_Pin10; gpio_init_struct.GPIO_Dir =DIR_OUTPUT; gpio_init_struct.GPIO_Output =OUTPUT_H; gpio_init_struct.GPIO_PinControl =IRQC_DIS; LPLD_GPIO_Init(gpio_init_struct);
uint16 result; //初始化ADC adc_init(); init_gpio(); while(1) { result =LPLD_ADC_Get(ADC1, AD20); if(result>100) PTA10_O=0; else PTA10_O=1; }
oh。。。。。。h,yeah
由于使用固件库,这里的ADC就像PIC里的一样(51的忘了,好久没用了)
但是这里有几个和以前我接触过得单片机不一样的,就是以前玩的单片机ADC模块都只要设置好VCF基准电压,用哪个通道,像PIC的就多一个左对齐右对齐,时钟选择就没了。
这里还要配置是使用单端采集还是差分采集,ADC精度,采样时间,硬件平均(其实这个我没搞懂是什么东西)
关于单端还是差分,我就用LPLD里用的那个图说好了
如果用单端,就是只用ADC0 DP1把外部的电压读入进行ADC;如果是差分需要把ADC0 DP1和ADC0DM1都读入,取他们的差值ADC,所以会出现负数。我记得LPLD是这么说的,当电压有波动不稳定时,采用单端就会不稳定,但是采用差分就会抵消掉波动,能得到稳定的电压。
ADC精度,我感觉这是 一个非常人性化的设置,居然还可以设置ADC精度,像以前PIC精度都是固定的= =
单端精度有8位10位12位16位
差分精度有9位11位13位16位
对于设置不同的精度,得到的返回值也会不同,例如单端8位0~255,单端16位0~65535;所以不同的精度设置,在调节开发板上的电阻可能会不一样
采样时间应该就是越长越准吧,没这么注意
硬件平均就不知道了,问了同学也没能解决
对了,我的板子上的ADC是这样接的
接下来贴上代码
ADC初始化
void adc_init(void)
{
}
gpio初始化
void init_gpio()
{
}
我这里用的ADC输入,若超过某个值就点亮一盏灯
主函数里一点要初始化ADC和GPIO,我已开始没有初始化GPIO以为我ADC程序错了,检查了半天,还有不要忘记声明ADC,GPIO函数和初始化类
void main (void)
{
}
运行
一开始没到边界值
到边界值了,有点微闪
超过边界值,就很亮了
oh。。。。。。h,yeah
阅读全文
0 0
- K60 ADC
- K60的ADC总结
- K60 PIT定时器
- K60 first GPIO
- K60 GPIO外部中断
- #山外K60函数 FTM_PWM_…
- K60内部ADC模块的转换时间的计算
- (Kinetis K60)WDOG看门狗测试
- 飞思卡尔K60 FTM模块详…
- 飞思卡尔K60 FTM模块详…
- 飞思卡尔Kinetis 60(K60)时钟…
- ADC
- ADC
- ADC
- ADC
- ADC
- ADC
- ADC
- 腾讯2016研发工程师编程题
- K60 first GPIO
- 校招三期计划安排表
- K60 GPIO外部中断
- 面试题27:二叉搜索树与双向链表
- K60 ADC
- K60 PIT定时器
- 推荐两部rina的日剧(要喜欢看哦)
- 关于第一次在ARM处理器上搭载操作…
- Linux操作系统快速体验和常用指令…
- GCC编译器初步
- bootloader的核心初始化forARM11
- 聊天文字在气泡背景图片上的展示
- 在OK6410上点亮指路明灯(LED)