| | |
| | | #include "adc.h" |
| | | #include "gpio.h" |
| | | #include "power_manage.h" |
| | | |
| | | // ÄÚ²¿ÀÛ¼Ó Î¶ÈбÂÊ |
| | | // float const_TmpeK = 4.5295; //0X640 ADCбÂÊ |
| | | // float const_30_top = 30.0; |
| | | |
| | | //ÄÚ²¿ÀÛ¼Ó Î¶ÈбÂÊ |
| | | //float const_TmpeK = 4.5295; //0X640 ADCбÂÊ |
| | | //float const_30_top = 30.0; |
| | | // ÍⲿÀÛ¼Ó Î¶ÈбÂÊ |
| | | float const_TmpeK_14BIT = 23.0247; // 14BIT ADCбÂÊ |
| | | float const_30_top = 30.0; |
| | | |
| | | void ADC_LithIO_Init(void) |
| | | { |
| | | CMU_PERCLK_SetableEx(PADCLK, ENABLE); // PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý |
| | | // AnalogIO(LIT_PWR_UNDER_PORT,LIT_PWR_UNDER_PIN);//ADC_5 |
| | | // GPIOx_ANEN_Setable(LIT_PWR_UNDER_PORT,LIT_PWR_UNDER_PIN,ENABLE); |
| | | AnalogIO(LIT_ADC_PORT, LIT_ADC_PIN); // ADC_IN4 |
| | | GPIOx_ANEN_Setable(LIT_ADC_PORT, LIT_ADC_PIN, ENABLE); |
| | | } |
| | | |
| | | //ÍⲿÀÛ¼Ó Î¶ÈбÂÊ |
| | | float const_TmpeK_14BIT = 23.0247; //14BIT ADCбÂÊ |
| | | float const_30_top = 30.0; |
| | | |
| | | |
| | | //void ADC_LithIO_Init(void) |
| | | //{ |
| | | // CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý |
| | | //// AnalogIO(LIT_PWR_UNDER_PORT,LIT_PWR_UNDER_PIN);//ADC_5 |
| | | //// GPIOx_ANEN_Setable(LIT_PWR_UNDER_PORT,LIT_PWR_UNDER_PIN,ENABLE); |
| | | // AnalogIO(LIT_ADC_PORT,LIT_ADC_PIN);//ADC_IN4 |
| | | // GPIOx_ANEN_Setable(LIT_ADC_PORT,LIT_ADC_PIN,ENABLE); |
| | | |
| | | //} |
| | | |
| | | //void ADC_AlkaIO_Init(void) |
| | | //{ |
| | | // CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý |
| | | // AnalogIO_H(ALK_ADC_PIN);//ADC_IN8 |
| | | //// GPIOx_ANEN_Setable(ALK_ADC_PORT,ALK_ADC_PIN,ENABLE); //?ûÓÐH¿Ú£¬ÔÝʱ²»ÖªµÀÔõô´¦Àí |
| | | //} |
| | | void ADC_AlkaIO_Init(void) |
| | | { |
| | | CMU_PERCLK_SetableEx(PADCLK, ENABLE); // PADʱÖÓ£¨GPIO£©Ê¹Äܺ¯Êý |
| | | AnalogIO(ALK_ADC_PORT, ALK_ADC_PIN); // ADC_IN8 |
| | | GPIOx_ANEN_Setable(ALK_ADC_PORT, ALK_ADC_PIN, ENABLE); |
| | | } |
| | | |
| | | void ADC_IN5_Init(void) |
| | | { |
| | | CDIF_CR_INTF_EN_Setable(ENABLE); //¿çµçÔ´Óò½Ó¿ÚʹÄÜ |
| | | VRTC_Init_RCMF_Trim(); |
| | | VRTC_RCMFCR_EN_Setable(ENABLE); |
| | | VRTC_ADCCR_CKS_Set(VRTC_ADCCR_CKS_RCMF_2); //ADC¹¤×÷ʱÖÓÑ¡Ôñ |
| | | VRTC_ADCCR_CKE_Setable(ENABLE); //ADC¹¤×÷ʱÖÓʹÄÜ |
| | | ADC_CFGR_BUFSEL_Set(ADC_CFGR_BUFSEL_ADC_IN5); //ADCÊäÈëͨµÀÑ¡Ôñ |
| | | |
| | | ADC_CFGR_BUFEN_Setable(ENABLE); //ADCÊäÈëͨµÀbufferʹÄÜ/½ûÖ¹ |
| | | ADC_CR_MODE_Set(ADC_CR_MODE_EXTERNAL); //ADC¹¤×÷ģʽѡÔñÍⲿÀÛ¼ÓÆ÷ |
| | | ADC_CR_RSTCTRL_EN_Setable(ENABLE); //ÔÊÐí»ý·ÖÆ÷Íⲿ¸´Î» |
| | | ADC_CFGR_ACC_PERIOD_Set(ADC_CFGR_ACC_PERIOD_14BITS); //ÍⲿÀÛ¼ÓÆ÷ÀÛ¼ÓÖÜÆÚÅäÖà |
| | | ADC_CR_HPEN_Set(ADC_CR_HPEN_1MHZ); |
| | | |
| | | ADC_TRIM_Write(0X7FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä4ms |
| | | // ADC_TRIM_Write(0X3FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä2ms |
| | | // ADC_TRIM_Write(0X1FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä1ms |
| | | |
| | | ADC_CR_ACC_IE_Setable(DISABLE); //ÍⲿÀÛ¼ÓģʽÖжϽûÖ¹ |
| | | ADC_CR_EN_Setable(DISABLE); //ADC¹Ø±Õ |
| | | } |
| | | CDIF_CR_INTF_EN_Setable(ENABLE); // ¿çµçÔ´Óò½Ó¿ÚʹÄÜ |
| | | VRTC_Init_RCMF_Trim(); |
| | | VRTC_RCMFCR_EN_Setable(ENABLE); |
| | | VRTC_ADCCR_CKS_Set(VRTC_ADCCR_CKS_RCMF_2); // ADC¹¤×÷ʱÖÓÑ¡Ôñ |
| | | VRTC_ADCCR_CKE_Setable(ENABLE); // ADC¹¤×÷ʱÖÓʹÄÜ |
| | | ADC_CFGR_BUFSEL_Set(ADC_CFGR_BUFSEL_ADC_IN5); // ADCÊäÈëͨµÀÑ¡Ôñ |
| | | |
| | | void ADC_IN4_Init(void) |
| | | { |
| | | |
| | | CDIF_CR_INTF_EN_Setable(ENABLE); //¿çµçÔ´Óò½Ó¿ÚʹÄÜ |
| | | VRTC_Init_RCMF_Trim(); |
| | | VRTC_RCMFCR_EN_Setable(ENABLE); |
| | | VRTC_ADCCR_CKS_Set(VRTC_ADCCR_CKS_RCMF_2); //ADC¹¤×÷ʱÖÓÑ¡Ôñ |
| | | VRTC_ADCCR_CKE_Setable(ENABLE); //ADC¹¤×÷ʱÖÓʹÄÜ |
| | | ADC_CFGR_BUFSEL_Set(ADC_CFGR_BUFSEL_ADC_IN4); //ADCÊäÈëͨµÀÑ¡Ôñ |
| | | |
| | | ADC_CFGR_BUFEN_Setable(ENABLE); //ADCÊäÈëͨµÀbufferʹÄÜ/½ûÖ¹ |
| | | ADC_CR_MODE_Set(ADC_CR_MODE_EXTERNAL); //ADC¹¤×÷ģʽѡÔñÍⲿÀÛ¼ÓÆ÷ |
| | | ADC_CR_RSTCTRL_EN_Setable(ENABLE); //ÔÊÐí»ý·ÖÆ÷Íⲿ¸´Î» |
| | | ADC_CFGR_ACC_PERIOD_Set(ADC_CFGR_ACC_PERIOD_14BITS); //ÍⲿÀÛ¼ÓÆ÷ÀÛ¼ÓÖÜÆÚÅäÖà |
| | | ADC_CR_HPEN_Set(ADC_CR_HPEN_1MHZ); |
| | | |
| | | ADC_TRIM_Write(0X7FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä4ms |
| | | // ADC_TRIM_Write(0X3FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä2ms |
| | | // ADC_TRIM_Write(0X1FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä1ms |
| | | |
| | | ADC_CR_ACC_IE_Setable(DISABLE); //ÍⲿÀÛ¼ÓģʽÖжϽûÖ¹ |
| | | ADC_CR_EN_Setable(DISABLE); //ADC¹Ø±Õ |
| | | } |
| | | ADC_CFGR_BUFEN_Setable(ENABLE); // ADCÊäÈëͨµÀbufferʹÄÜ/½ûÖ¹ |
| | | ADC_CR_MODE_Set(ADC_CR_MODE_EXTERNAL); // ADC¹¤×÷ģʽѡÔñÍⲿÀÛ¼ÓÆ÷ |
| | | ADC_CR_RSTCTRL_EN_Setable(ENABLE); // ÔÊÐí»ý·ÖÆ÷Íⲿ¸´Î» |
| | | ADC_CFGR_ACC_PERIOD_Set(ADC_CFGR_ACC_PERIOD_14BITS); // ÍⲿÀÛ¼ÓÆ÷ÀÛ¼ÓÖÜÆÚÅäÖà |
| | | ADC_CR_HPEN_Set(ADC_CR_HPEN_1MHZ); |
| | | |
| | | void ADC_IN8_Init(void) |
| | | { |
| | | |
| | | CDIF_CR_INTF_EN_Setable(ENABLE); //¿çµçÔ´Óò½Ó¿ÚʹÄÜ |
| | | VRTC_Init_RCMF_Trim(); |
| | | VRTC_RCMFCR_EN_Setable(ENABLE); |
| | | VRTC_ADCCR_CKS_Set(VRTC_ADCCR_CKS_RCMF_2); //ADC¹¤×÷ʱÖÓÑ¡Ôñ |
| | | VRTC_ADCCR_CKE_Setable(ENABLE); //ADC¹¤×÷ʱÖÓʹÄÜ |
| | | ADC_CFGR_BUFSEL_Set(ADC_CFGR_BUFSEL_ADC_IN8); //ADCÊäÈëͨµÀÑ¡Ôñ |
| | | |
| | | ADC_CFGR_BUFEN_Setable(ENABLE); //ADCÊäÈëͨµÀbufferʹÄÜ/½ûÖ¹ |
| | | ADC_CR_MODE_Set(ADC_CR_MODE_EXTERNAL); //ADC¹¤×÷ģʽѡÔñÍⲿÀÛ¼ÓÆ÷ |
| | | ADC_CR_RSTCTRL_EN_Setable(ENABLE); //ÔÊÐí»ý·ÖÆ÷Íⲿ¸´Î» |
| | | ADC_CFGR_ACC_PERIOD_Set(ADC_CFGR_ACC_PERIOD_14BITS); //ÍⲿÀÛ¼ÓÆ÷ÀÛ¼ÓÖÜÆÚÅäÖà |
| | | ADC_CR_HPEN_Set(ADC_CR_HPEN_1MHZ); |
| | | |
| | | ADC_TRIM_Write(0X7FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä4ms |
| | | // ADC_TRIM_Write(0X3FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä2ms |
| | | // ADC_TRIM_Write(0X1FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä1ms |
| | | |
| | | ADC_CR_ACC_IE_Setable(DISABLE); //ÍⲿÀÛ¼ÓģʽÖжϽûÖ¹ |
| | | ADC_CR_EN_Setable(DISABLE); //ADC¹Ø±Õ |
| | | ADC_TRIM_Write(0X7FF); // adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä4ms |
| | | // ADC_TRIM_Write(0X3FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä2ms |
| | | // ADC_TRIM_Write(0X1FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä1ms |
| | | |
| | | ADC_CR_ACC_IE_Setable(DISABLE); // ÍⲿÀÛ¼ÓģʽÖжϽûÖ¹ |
| | | ADC_CR_EN_Setable(DISABLE); // ADC¹Ø±Õ |
| | | } |
| | | |
| | | void ADC_IN10_Init(void) |
| | | { |
| | | |
| | | CDIF_CR_INTF_EN_Setable(ENABLE); //¿çµçÔ´Óò½Ó¿ÚʹÄÜ |
| | | VRTC_Init_RCMF_Trim(); |
| | | VRTC_RCMFCR_EN_Setable(ENABLE); |
| | | VRTC_ADCCR_CKS_Set(VRTC_ADCCR_CKS_RCMF_2); //ADC¹¤×÷ʱÖÓÑ¡Ôñ |
| | | VRTC_ADCCR_CKE_Setable(ENABLE); //ADC¹¤×÷ʱÖÓʹÄÜ |
| | | ADC_CFGR_BUFSEL_Set(ADC_CFGR_BUFSEL_ADC_IN10); //ADCÊäÈëͨµÀÑ¡Ôñ |
| | | |
| | | ADC_CFGR_BUFEN_Setable(ENABLE); //ADCÊäÈëͨµÀbufferʹÄÜ/½ûÖ¹ |
| | | ADC_CR_MODE_Set(ADC_CR_MODE_EXTERNAL); //ADC¹¤×÷ģʽѡÔñÍⲿÀÛ¼ÓÆ÷ |
| | | ADC_CR_RSTCTRL_EN_Setable(ENABLE); //ÔÊÐí»ý·ÖÆ÷Íⲿ¸´Î» |
| | | |
| | | ADC_CR_HPEN_Set(ADC_CR_HPEN_1MHZ); |
| | | |
| | | ADC_TRIM_Write(0X7FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä4ms |
| | | // ADC_TRIM_Write(0X3FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä2ms |
| | | // ADC_TRIM_Write(0X1FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä1ms |
| | | |
| | | ADC_CFGR_ACC_PERIOD_Set(ADC_CFGR_ACC_PERIOD_14BITS); //ÍⲿÀÛ¼ÓÆ÷ÀÛ¼ÓÖÜÆÚÅäÖà |
| | | ADC_CR_ACC_IE_Setable(DISABLE); //ÍⲿÀÛ¼ÓģʽÖжϽûÖ¹ |
| | | ADC_CR_EN_Setable(DISABLE); //ADC¹Ø±Õ |
| | | |
| | | CDIF_CR_INTF_EN_Setable(ENABLE); // ¿çµçÔ´Óò½Ó¿ÚʹÄÜ |
| | | VRTC_Init_RCMF_Trim(); |
| | | VRTC_RCMFCR_EN_Setable(ENABLE); |
| | | VRTC_ADCCR_CKS_Set(VRTC_ADCCR_CKS_RCMF_2); // ADC¹¤×÷ʱÖÓÑ¡Ôñ |
| | | VRTC_ADCCR_CKE_Setable(ENABLE); // ADC¹¤×÷ʱÖÓʹÄÜ |
| | | ADC_CFGR_BUFSEL_Set(ADC_CFGR_BUFSEL_ADC_IN10); // ADCÊäÈëͨµÀÑ¡Ôñ |
| | | |
| | | ADC_CFGR_BUFEN_Setable(ENABLE); // ADCÊäÈëͨµÀbufferʹÄÜ/½ûÖ¹ |
| | | ADC_CR_MODE_Set(ADC_CR_MODE_EXTERNAL); // ADC¹¤×÷ģʽѡÔñÍⲿÀÛ¼ÓÆ÷ |
| | | ADC_CR_RSTCTRL_EN_Setable(ENABLE); // ÔÊÐí»ý·ÖÆ÷Íⲿ¸´Î» |
| | | ADC_CFGR_ACC_PERIOD_Set(ADC_CFGR_ACC_PERIOD_14BITS); // ÍⲿÀÛ¼ÓÆ÷ÀÛ¼ÓÖÜÆÚÅäÖà |
| | | ADC_CR_HPEN_Set(ADC_CR_HPEN_1MHZ); |
| | | |
| | | ADC_TRIM_Write(0X7FF); // adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä4ms |
| | | // ADC_TRIM_Write(0X3FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä2ms |
| | | // ADC_TRIM_Write(0X1FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä1ms |
| | | |
| | | ADC_CR_ACC_IE_Setable(DISABLE); // ÍⲿÀÛ¼ÓģʽÖжϽûÖ¹ |
| | | ADC_CR_EN_Setable(DISABLE); // ADC¹Ø±Õ |
| | | } |
| | | |
| | | void ADC_IN8_Init(void) |
| | | { |
| | | |
| | | CDIF_CR_INTF_EN_Setable(ENABLE); // ¿çµçÔ´Óò½Ó¿ÚʹÄÜ |
| | | VRTC_Init_RCMF_Trim(); |
| | | VRTC_RCMFCR_EN_Setable(ENABLE); |
| | | VRTC_ADCCR_CKS_Set(VRTC_ADCCR_CKS_RCMF_2); // ADC¹¤×÷ʱÖÓÑ¡Ôñ |
| | | VRTC_ADCCR_CKE_Setable(ENABLE); // ADC¹¤×÷ʱÖÓʹÄÜ |
| | | ADC_CFGR_BUFSEL_Set(ADC_CFGR_BUFSEL_ADC_IN8); // ADCÊäÈëͨµÀÑ¡Ôñ |
| | | |
| | | ADC_CFGR_BUFEN_Setable(ENABLE); // ADCÊäÈëͨµÀbufferʹÄÜ/½ûÖ¹ |
| | | ADC_CR_MODE_Set(ADC_CR_MODE_EXTERNAL); // ADC¹¤×÷ģʽѡÔñÍⲿÀÛ¼ÓÆ÷ |
| | | ADC_CR_RSTCTRL_EN_Setable(ENABLE); // ÔÊÐí»ý·ÖÆ÷Íⲿ¸´Î» |
| | | ADC_CFGR_ACC_PERIOD_Set(ADC_CFGR_ACC_PERIOD_14BITS); // ÍⲿÀÛ¼ÓÆ÷ÀÛ¼ÓÖÜÆÚÅäÖà |
| | | ADC_CR_HPEN_Set(ADC_CR_HPEN_1MHZ); |
| | | |
| | | ADC_TRIM_Write(0X7FF); // adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä4ms |
| | | // ADC_TRIM_Write(0X3FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä2ms |
| | | // ADC_TRIM_Write(0X1FF); //adcƵÂÊ1M ʱ ¼ÆËãʱ¼ä1ms |
| | | |
| | | ADC_CR_ACC_IE_Setable(DISABLE); // ÍⲿÀÛ¼ÓģʽÖжϽûÖ¹ |
| | | ADC_CR_EN_Setable(DISABLE); // ADC¹Ø±Õ |
| | | } |
| | | |
| | | void ADC_Temp_Init(void) |
| | | { |
| | | CDIF_CR_INTF_EN_Setable(ENABLE); //¿çµçÔ´Óò½Ó¿ÚʹÄÜ |
| | | VRTC_Init_RCMF_Trim(); |
| | | VRTC_RCMFCR_EN_Setable(ENABLE); |
| | | VRTC_ADCCR_CKS_Set(VRTC_ADCCR_CKS_RCMF_2); //ADC¹¤×÷ʱÖÓÑ¡Ôñ |
| | | VRTC_ADCCR_CKE_Setable(ENABLE); //ADC¹¤×÷ʱÖÓʹÄÜ |
| | | ADC_CFGR_BUFSEL_Set(ADC_CFGR_BUFSEL_TS); //ADCÊäÈëͨµÀÑ¡Ôñ |
| | | |
| | | ADC_CFGR_BUFEN_Setable(ENABLE); //ADCÊäÈëͨµÀbufferʹÄÜ/½ûÖ¹ |
| | | |
| | | ADC_CR_MODE_Set(ADC_CR_MODE_EXTERNAL); //ADC¹¤×÷ģʽѡÔñÍⲿÀÛ¼ÓÆ÷ |
| | | |
| | | ADC_CR_RSTCTRL_EN_Setable(ENABLE); //ÔÊÐí»ý·ÖÆ÷Íⲿ¸´Î» ÄÚ²¿Ä£Ê½disable Íⲿģʽenable |
| | | |
| | | ADC_TRIM_Write(0x7FF); //ÍⲿÀÛ¼Æ ±ØÐëд0x7FF |
| | | CDIF_CR_INTF_EN_Setable(ENABLE); // ¿çµçÔ´Óò½Ó¿ÚʹÄÜ |
| | | VRTC_Init_RCMF_Trim(); |
| | | VRTC_RCMFCR_EN_Setable(ENABLE); |
| | | VRTC_ADCCR_CKS_Set(VRTC_ADCCR_CKS_RCMF_2); // ADC¹¤×÷ʱÖÓÑ¡Ôñ |
| | | VRTC_ADCCR_CKE_Setable(ENABLE); // ADC¹¤×÷ʱÖÓʹÄÜ |
| | | ADC_CFGR_BUFSEL_Set(ADC_CFGR_BUFSEL_TS); // ADCÊäÈëͨµÀÑ¡Ôñ |
| | | |
| | | ADC_CFGR_ACC_PERIOD_Set(ADC_CFGR_ACC_PERIOD_14BITS); //ÍⲿÀÛ¼ÓÆ÷ÀÛ¼ÓÖÜÆÚÅäÖà ÄÚ²¿ÀÛ¼Ó¿É×¢ÊÍ |
| | | |
| | | ADC_CR_ACC_IE_Setable(DISABLE); //ÍⲿÀÛ¼ÓģʽÖжϽûÖ¹ |
| | | ADC_CFGR_BUFEN_Setable(ENABLE); // ADCÊäÈëͨµÀbufferʹÄÜ/½ûÖ¹ |
| | | |
| | | ADC_CR_EN_Setable(DISABLE); //ADC¹Ø±Õ |
| | | ADC_CR_MODE_Set(ADC_CR_MODE_EXTERNAL); // ADC¹¤×÷ģʽѡÔñÍⲿÀÛ¼ÓÆ÷ |
| | | |
| | | ADC_CR_RSTCTRL_EN_Setable(ENABLE); // ÔÊÐí»ý·ÖÆ÷Íⲿ¸´Î» ÄÚ²¿Ä£Ê½disable Íⲿģʽenable |
| | | |
| | | ADC_TRIM_Write(0x7FF); // ÍⲿÀÛ¼Æ ±ØÐëд0x7FF |
| | | |
| | | ADC_CFGR_ACC_PERIOD_Set(ADC_CFGR_ACC_PERIOD_14BITS); // ÍⲿÀÛ¼ÓÆ÷ÀÛ¼ÓÖÜÆÚÅäÖà ÄÚ²¿ÀÛ¼Ó¿É×¢ÊÍ |
| | | |
| | | ADC_CR_ACC_IE_Setable(DISABLE); // ÍⲿÀÛ¼ÓģʽÖжϽûÖ¹ |
| | | |
| | | ADC_CR_EN_Setable(DISABLE); // ADC¹Ø±Õ |
| | | } |
| | | |
| | | |
| | | uint32_t adc_vol_cal(uint32_t adc_data) |
| | | { |
| | | int32_t Volt = 0; |
| | | Volt = (adc_data*const_adc_Slope/1000.0)+const_adc_Offset/100.0; |
| | | int32_t Volt = 0; |
| | | Volt = (adc_data * const_adc_Slope / 1000.0) + const_adc_Offset / 100.0; |
| | | |
| | | if(Volt<0) //VoltΪ¸ºÖµ |
| | | { |
| | | Volt=0; |
| | | } |
| | | return Volt; |
| | | if (Volt < 0) // VoltΪ¸ºÖµ |
| | | { |
| | | Volt = 0; |
| | | } |
| | | return Volt; |
| | | } |
| | | |
| | | float adc_tem_cal(uint32_t adc_data) |
| | | { |
| | | float T = 0; |
| | | //ÄÚ²¿ÀÛ¼Ó¼ÆËã |
| | | // if(adc_data >const_T_30 ) |
| | | // { |
| | | // T=(adc_data-const_T_30)/const_TmpeK+const_30_top; |
| | | // } |
| | | // else |
| | | // { |
| | | // T=const_30_top-(const_T_30-adc_data)/const_TmpeK; |
| | | // } |
| | | |
| | | //ÍⲿÀۼƼÆËã |
| | | if(adc_data >const_T_30_14BIT ) |
| | | { |
| | | T=(adc_data-const_T_30_14BIT)/const_TmpeK_14BIT+const_30_top-0.5; |
| | | } |
| | | else |
| | | { |
| | | T=const_30_top-(const_T_30_14BIT-adc_data)/const_TmpeK_14BIT-0.5; |
| | | } |
| | | return T; |
| | | float T = 0; |
| | | // ÄÚ²¿ÀÛ¼Ó¼ÆËã |
| | | // if(adc_data >const_T_30 ) |
| | | // { |
| | | // T=(adc_data-const_T_30)/const_TmpeK+const_30_top; |
| | | // } |
| | | // else |
| | | // { |
| | | // T=const_30_top-(const_T_30-adc_data)/const_TmpeK; |
| | | // } |
| | | |
| | | // ÍⲿÀۼƼÆËã |
| | | if (adc_data > const_T_30_14BIT) |
| | | { |
| | | T = (adc_data - const_T_30_14BIT) / const_TmpeK_14BIT + const_30_top - 0.5; |
| | | } |
| | | else |
| | | { |
| | | T = const_30_top - (const_T_30_14BIT - adc_data) / const_TmpeK_14BIT - 0.5; |
| | | } |
| | | return T; |
| | | } |
| | | |
| | | uint08 adc_wait_finish(void) |
| | | { |
| | | uint32 timeout=0; |
| | | do |
| | | { |
| | | if(SET == ADC_ISR_ACC_IF_Chk()) return 0;//ÍⲿÀÛ¼Ó |
| | | }while(timeout++ < 0xFFFFFFFFU); |
| | | return 1;//³¬Ê± |
| | | uint32 timeout = 0; |
| | | do |
| | | { |
| | | if (SET == ADC_ISR_ACC_IF_Chk()) |
| | | return 0; // ÍⲿÀÛ¼Ó |
| | | } while (timeout++ < 0xFFFFFFFFU); |
| | | return 1; // ³¬Ê± |
| | | } |
| | | |
| | | uint32_t Get_AdcValue(void) |
| | | { |
| | | volatile int32_t fVlotage = 0; |
| | | uint32 fTempADC = 0; |
| | | ADC_CR_EN_Setable(ENABLE); //ADCÆô¶¯ |
| | | volatile int32_t fVlotage = 0; |
| | | uint32 fTempADC = 0; |
| | | ADC_CR_EN_Setable(ENABLE); // ADCÆô¶¯ |
| | | |
| | | ADC_ISR_ACC_IF_Clr(); //ÍⲿÀÛ¼ÓÇå³ýÖжϱêÖ¾ |
| | | if(0 == adc_wait_finish()) //µÈ´ýת»»Íê³É |
| | | fTempADC = ADC_DR_Read(); //¶ÁÈ¡ADÖµ |
| | | else |
| | | return 0; |
| | | fVlotage = adc_vol_cal(fTempADC);//ADֵת»»Îªµçѹ,µçÔ´µçѹΪ5V |
| | | ADC_ISR_ACC_IF_Clr(); // ÍⲿÀÛ¼ÓÇå³ýÖжϱêÖ¾ |
| | | if (0 == adc_wait_finish()) // µÈ´ýת»»Íê³É |
| | | fTempADC = ADC_DR_Read(); // ¶ÁÈ¡ADÖµ |
| | | else |
| | | return 0; |
| | | fVlotage = adc_vol_cal(fTempADC); // ADֵת»»Îªµçѹ,µçÔ´µçѹΪ5V |
| | | |
| | | return fVlotage; |
| | | return fVlotage; |
| | | } |
| | | |
| | | float Get_AdcTempValue(void) |
| | | { |
| | | float Temperature = 0; |
| | | uint32 fTempADC = 0; |
| | | ADC_CR_EN_Setable(ENABLE); //ADCÆô¶¯ |
| | | float Temperature = 0; |
| | | uint32 fTempADC = 0; |
| | | ADC_CR_EN_Setable(ENABLE); // ADCÆô¶¯ |
| | | |
| | | ADC_ISR_ACC_IF_Clr(); //ÍⲿÀÛ¼ÓÇå³ýÖжϱêÖ¾ |
| | | if(0 == adc_wait_finish()) //µÈ´ýת»»Íê³É |
| | | fTempADC = ADC_DR_Read(); //¶ÁÈ¡ADÖµ |
| | | else |
| | | return 0; |
| | | Temperature = adc_tem_cal(fTempADC); |
| | | |
| | | return Temperature; |
| | | ADC_ISR_ACC_IF_Clr(); // ÍⲿÀÛ¼ÓÇå³ýÖжϱêÖ¾ |
| | | if (0 == adc_wait_finish()) // µÈ´ýת»»Íê³É |
| | | fTempADC = ADC_DR_Read(); // ¶ÁÈ¡ADÖµ |
| | | else |
| | | return 0; |
| | | Temperature = adc_tem_cal(fTempADC); |
| | | return Temperature; |
| | | } |