Amir Chaudhary / Mbed 2 deprecated Analog_values_current

Dependencies:   mbed LoRaWAN-lib SX1276Lib

Committer:
amirchaudhary
Date:
Mon Jan 07 17:08:38 2019 +0000
Revision:
11:9e35ddff7ed8
Parent:
10:9a4efdd07a77
Child:
12:8d057a5bf72e
PCB_Analog_Values

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mluis 0:92bca02df485 1 #include "mbed.h"
mluis 0:92bca02df485 2 #include "board.h"
mluis 0:92bca02df485 3 #include "SerialDisplay.h"
mluis 0:92bca02df485 4
mluis 1:352f608c3337 5
amirchaudhary 11:9e35ddff7ed8 6 AnalogIn Vbat(A1);
amirchaudhary 11:9e35ddff7ed8 7 AnalogIn Led1(A2);
amirchaudhary 11:9e35ddff7ed8 8 AnalogIn Led2(A5);
amirchaudhary 11:9e35ddff7ed8 9 AnalogIn RM(PC_2);
amirchaudhary 11:9e35ddff7ed8 10 AnalogIn Vce(PB_1);
uss1994 10:9a4efdd07a77 11
uss1994 10:9a4efdd07a77 12
mluis 0:92bca02df485 13 /**
mluis 0:92bca02df485 14 * Main application entry point.
mluis 0:92bca02df485 15 */
amirchaudhary 11:9e35ddff7ed8 16 Serial pc(SERIAL_TX, SERIAL_RX,115200);
amirchaudhary 11:9e35ddff7ed8 17 int MY_SetSysClock_PLL_HSE(void)
mluis 0:92bca02df485 18 {
amirchaudhary 11:9e35ddff7ed8 19 RCC_ClkInitTypeDef RCC_ClkInitStruct;
amirchaudhary 11:9e35ddff7ed8 20 RCC_OscInitTypeDef RCC_OscInitStruct;
mluis 7:3173f0508a98 21
amirchaudhary 11:9e35ddff7ed8 22 /* Enable HSE and activate PLL with HSE as source */
amirchaudhary 11:9e35ddff7ed8 23 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
amirchaudhary 11:9e35ddff7ed8 24 RCC_OscInitStruct.HSEState = RCC_HSE_ON; /* External 8 MHz xtal on OSC_IN/OSC_OUT */
mluis 7:3173f0508a98 25
amirchaudhary 11:9e35ddff7ed8 26 // PLLCLK = (8 MHz * 8)/2 = 32 MHz
amirchaudhary 11:9e35ddff7ed8 27 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
amirchaudhary 11:9e35ddff7ed8 28 RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
amirchaudhary 11:9e35ddff7ed8 29 RCC_OscInitStruct.PLL.PLLMUL = RCC_PLLMUL_8;
amirchaudhary 11:9e35ddff7ed8 30 RCC_OscInitStruct.PLL.PLLDIV = RCC_PLLDIV_2;
amirchaudhary 11:9e35ddff7ed8 31 if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
amirchaudhary 11:9e35ddff7ed8 32 return (-1); // FAIL
amirchaudhary 11:9e35ddff7ed8 33 }
mluis 0:92bca02df485 34
amirchaudhary 11:9e35ddff7ed8 35 /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */
amirchaudhary 11:9e35ddff7ed8 36 RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
amirchaudhary 11:9e35ddff7ed8 37 RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 32 MHz
amirchaudhary 11:9e35ddff7ed8 38 RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; // 32 MHz
amirchaudhary 11:9e35ddff7ed8 39 RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; // 32 MHz
amirchaudhary 11:9e35ddff7ed8 40 RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; // 32 MHz
amirchaudhary 11:9e35ddff7ed8 41 if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) {
amirchaudhary 11:9e35ddff7ed8 42 return (-2); // FAIL
amirchaudhary 11:9e35ddff7ed8 43 }
mluis 3:9c6f7f082151 44
amirchaudhary 11:9e35ddff7ed8 45 /* Enable HSE and activate PLL with HSE as source */
amirchaudhary 11:9e35ddff7ed8 46 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_MSI;
amirchaudhary 11:9e35ddff7ed8 47 RCC_OscInitStruct.HSIState = RCC_HSI_OFF;
amirchaudhary 11:9e35ddff7ed8 48 RCC_OscInitStruct.MSIState = RCC_MSI_OFF;
amirchaudhary 11:9e35ddff7ed8 49 RCC_OscInitStruct.HSI48State = RCC_HSI48_OFF;
amirchaudhary 11:9e35ddff7ed8 50 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
amirchaudhary 11:9e35ddff7ed8 51 if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
amirchaudhary 11:9e35ddff7ed8 52 return (-3); // FAIL
amirchaudhary 11:9e35ddff7ed8 53 }
amirchaudhary 11:9e35ddff7ed8 54
amirchaudhary 11:9e35ddff7ed8 55 return 0; // OK
amirchaudhary 11:9e35ddff7ed8 56 }
mluis 3:9c6f7f082151 57
amirchaudhary 11:9e35ddff7ed8 58 void my_patch(void)
amirchaudhary 11:9e35ddff7ed8 59 {
amirchaudhary 11:9e35ddff7ed8 60 int retVal;
amirchaudhary 11:9e35ddff7ed8 61
amirchaudhary 11:9e35ddff7ed8 62 // Put device into default clock, i.e using MSI = 2MHz
amirchaudhary 11:9e35ddff7ed8 63 HAL_RCC_DeInit();
amirchaudhary 11:9e35ddff7ed8 64
amirchaudhary 11:9e35ddff7ed8 65 // Enable HSE clock
amirchaudhary 11:9e35ddff7ed8 66 retVal = MY_SetSysClock_PLL_HSE();
amirchaudhary 11:9e35ddff7ed8 67 if(retVal< 0)
amirchaudhary 11:9e35ddff7ed8 68 {
amirchaudhary 11:9e35ddff7ed8 69 // fail
amirchaudhary 11:9e35ddff7ed8 70 //pc.printf("Failed to start HSE, ERR= %d\r\n", retVal);
amirchaudhary 11:9e35ddff7ed8 71
amirchaudhary 11:9e35ddff7ed8 72 // indicate error
amirchaudhary 11:9e35ddff7ed8 73 while(1)
amirchaudhary 11:9e35ddff7ed8 74 {
mluis 3:9c6f7f082151 75
amirchaudhary 11:9e35ddff7ed8 76 }
amirchaudhary 11:9e35ddff7ed8 77 }
amirchaudhary 11:9e35ddff7ed8 78 }
mluis 5:1e9f6a365854 79
amirchaudhary 11:9e35ddff7ed8 80 int main()
amirchaudhary 11:9e35ddff7ed8 81 {
amirchaudhary 11:9e35ddff7ed8 82
amirchaudhary 11:9e35ddff7ed8 83 pc.printf("mbed-os-rev: %d.%d.%d lib-rev: %d\r\n", \
amirchaudhary 11:9e35ddff7ed8 84 MBED_MAJOR_VERSION, MBED_MINOR_VERSION,MBED_PATCH_VERSION,MBED_LIBRARY_VERSION);
amirchaudhary 11:9e35ddff7ed8 85 pc.printf("BUILD= %s, SysClock= %d, RCC= %0X\r\n", __TIME__, SystemCoreClock, RCC->CR);
amirchaudhary 11:9e35ddff7ed8 86 my_patch();
amirchaudhary 11:9e35ddff7ed8 87 pc.printf("NEW SysClock= %d, NEW RCC= %0X\r\n", SystemCoreClock, RCC->CR);
amirchaudhary 11:9e35ddff7ed8 88 wait(3);
amirchaudhary 11:9e35ddff7ed8 89
amirchaudhary 11:9e35ddff7ed8 90 printf("\n");
amirchaudhary 11:9e35ddff7ed8 91 printf("\n");
amirchaudhary 11:9e35ddff7ed8 92 int min=0;
amirchaudhary 11:9e35ddff7ed8 93 float meas_Vbat,meas_Led1,meas_Led2,meas_RM,meas_Vce;
amirchaudhary 11:9e35ddff7ed8 94 float v_Vbat,v_Led1,v_Led2,v_RM,v_Vce;
amirchaudhary 11:9e35ddff7ed8 95 // float meas_v;
amirchaudhary 11:9e35ddff7ed8 96 // printf("\tAnalogIn example\n");
amirchaudhary 11:9e35ddff7ed8 97 printf("min");
amirchaudhary 11:9e35ddff7ed8 98 printf("\tVbat");
amirchaudhary 11:9e35ddff7ed8 99 printf("\tLED1");
amirchaudhary 11:9e35ddff7ed8 100 printf("\tLED2");
amirchaudhary 11:9e35ddff7ed8 101 printf("\tRM");
amirchaudhary 11:9e35ddff7ed8 102 printf("\tVce");
amirchaudhary 11:9e35ddff7ed8 103 printf("\n");
amirchaudhary 11:9e35ddff7ed8 104
amirchaudhary 11:9e35ddff7ed8 105
amirchaudhary 11:9e35ddff7ed8 106 while(1) {
amirchaudhary 11:9e35ddff7ed8 107
amirchaudhary 11:9e35ddff7ed8 108 meas_Vbat = Vbat.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range)
amirchaudhary 11:9e35ddff7ed8 109 meas_Led1 = Led1.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range)
amirchaudhary 11:9e35ddff7ed8 110 meas_Led2 = Led2.read();
amirchaudhary 11:9e35ddff7ed8 111 meas_RM = RM.read();
amirchaudhary 11:9e35ddff7ed8 112 meas_Vce = Vce.read();
amirchaudhary 11:9e35ddff7ed8 113
amirchaudhary 11:9e35ddff7ed8 114 // Display readings
amirchaudhary 11:9e35ddff7ed8 115 v_Vbat = meas_Vbat*3300*2;
amirchaudhary 11:9e35ddff7ed8 116 v_Led1 = meas_Led1*3300;
amirchaudhary 11:9e35ddff7ed8 117 v_Led2 = meas_Led2*3300;
amirchaudhary 11:9e35ddff7ed8 118 v_RM = meas_RM*3300;
amirchaudhary 11:9e35ddff7ed8 119 v_Vce = meas_Vce*3300;
amirchaudhary 11:9e35ddff7ed8 120
amirchaudhary 11:9e35ddff7ed8 121
amirchaudhary 11:9e35ddff7ed8 122 printf("%d\t", min);
amirchaudhary 11:9e35ddff7ed8 123 printf("%.0f\t", v_Vbat);
amirchaudhary 11:9e35ddff7ed8 124 printf("%.0f\t", v_Led1);
amirchaudhary 11:9e35ddff7ed8 125 printf("%.0f\t", v_Led2);
amirchaudhary 11:9e35ddff7ed8 126 printf("%.0f\t", v_RM);
amirchaudhary 11:9e35ddff7ed8 127 printf("%.0f\n", v_Vce);
amirchaudhary 11:9e35ddff7ed8 128
amirchaudhary 11:9e35ddff7ed8 129
amirchaudhary 11:9e35ddff7ed8 130 wait(5.0); // 1 second
amirchaudhary 11:9e35ddff7ed8 131 min++;
mluis 0:92bca02df485 132 }
mluis 0:92bca02df485 133 }