[TM4C123单片机实战] 两路ADC检测,短路报警
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[TM4C123单片机实战] 两路ADC检测,短路报警,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1412字,纯文字阅读大概需要3分钟。
内容图文
如果最终得到的数据是两路数据的差值, 我们可以采用ADC的 Difference 工作模式
#include <stdbool.h> #include <stdint.h> #include "inc/hw_memmap.h" #include "driverlib/adc.h" #include "driverlib/gpio.h" #include "driverlib/pin_map.h" #include "driverlib/sysctl.h" #include "user/LCDDriver.h" #define abs(x) (((x)<0)? -(x):(x)) uint32_t pui32ADC0Value[1]={0}; //这是我们的数据缓存, ADC采样数据存储在这里
void adcConfig(){ SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_1); GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_3 | GPIO_PIN_2); //初始化ADC所使用的GPIO
ADCSequenceConfigure(ADC1_BASE, 3, ADC_TRIGGER_PROCESSOR, 0); ADCSequenceStepConfigure(ADC1_BASE, 3, 0, ADC_CTL_D | ADC_CTL_CH0 | ADC_CTL_IE | ADC_CTL_END); //这里我们选择了两路差工作模式ADC_CTL_D
ADCSequenceEnable(ADC1_BASE, 3); ADCIntClear(ADC1_BASE, 3); }//使能 bool isRisk(){//数据采集程序 GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_1, 255); ADCProcessorTrigger(ADC1_BASE, 3); while(!ADCIntStatus(ADC1_BASE, 3, false)); ADCIntClear(ADC1_BASE, 3); ADCSequenceDataGet(ADC1_BASE, 3, pui32ADC0Value); //AIN0(PE3) - AIN1(PE2) LCD_Draw_Num(pui32ADC0Value[0],0,7,0,false); LCD_Draw_Line_Clear(6,false); if(pui32ADC0Value[0] > 500) return true; else return false; }关于ADc的引脚, 参考reference
关于ADC的模式:
参考reference
原文:http://blog.csdn.net/qq_21970857/article/details/45798899
内容总结
以上是互联网集市为您收集整理的[TM4C123单片机实战] 两路ADC检测,短路报警全部内容,希望文章能够帮你解决[TM4C123单片机实战] 两路ADC检测,短路报警所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。