diff --git a/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_adc.c b/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_adc.c index a2a8987f9f399f63bce3687bef35769efc3706b4..dfa27844099d0d972b2e5097bd9e78bf01f60666 100644 --- a/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_adc.c +++ b/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_adc.c @@ -23,10 +23,14 @@ #define DEFAULT_HW_AVG (kLPADC_HardwareAverageCount4) #define DEFAULT_SAMPLE_TIME (kLPADC_SampleTimeADCK7) -/* by default: cmd = chl+1 */ -static uint8_t adc_chl2cmd[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; -static uint8_t adc_cmd2trig[] = {0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3}; - +static uint8_t adc_chl2cmd[] = { + 1,2,3,4,5,6,7, + 1,2,3,4,5,6,7, + 1,2,3,4,5,6,7, + 1,2,3,4,5,6,7, + 1,2 +}; +static uint8_t adc_cmd2trig[] = {0,1,2,3,0,1,2}; struct mcx_adc { struct rt_adc_device mcx_adc_device; @@ -44,8 +48,8 @@ static struct mcx_adc mcx_adc_obj[] = #ifdef BSP_USING_ADC0 { .adc_base = ADC0, - .clock_attach_id = kFRO12M_to_ADC0, - .clock_div_name = kCLOCK_DivADC0, + .clock_attach_id = kFRO_HF_to_ADC, + .clock_div_name = kCLOCK_DivADC, .clock_div = 2, .referenceVoltageSource = 0, .name = "adc0", diff --git a/bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/drv_adc_sample.c b/bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/drv_adc_sample.c new file mode 100644 index 0000000000000000000000000000000000000000..e748e9188d3cdfc78f832899c64a229edef3c6d8 --- /dev/null +++ b/bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/drv_adc_sample.c @@ -0,0 +1,44 @@ +#include + +/*adc related*/ +#define ADC_DEV_NAME "adc0" +#define ADC_DEV_CHANNEL 1 +#define REFER_VOLTAGE 3300 +#define CONVERT_BITS (1 << 16) +#define THREAD_PRIORITY 8 +#define THREAD_STACK_SIZE 512 +#define THREAD_TIMESLICE 5 + +rt_adc_device_t adc_dev; + +void adc_test_thread_entry(void *parameter) +{ + rt_uint32_t value = 0, vol = 0; + + while(1) + { + rt_thread_mdelay(1000); + value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL); + vol = value * REFER_VOLTAGE / CONVERT_BITS; + rt_kprintf("the voltage is :%d.%02d \n", vol / 1000, vol % 1000); + } + +} + +void adc_test_init(void) +{ + rt_thread_t adc_tid; + adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME); + if(adc_dev != RT_NULL) { + rt_adc_enable(adc_dev, ADC_DEV_CHANNEL); + } else { + rt_kprintf("adc_test failed! can't find %s device!\n",ADC_DEV_NAME); + } + adc_tid = rt_thread_create("adc_tid", + adc_test_thread_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (adc_tid != RT_NULL) { + rt_thread_startup(adc_tid); + } +} \ No newline at end of file diff --git a/bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/drv_adc_sample.h b/bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/drv_adc_sample.h new file mode 100644 index 0000000000000000000000000000000000000000..4bb86ad50a8838e8c98178d45b59fbbf63c0528b --- /dev/null +++ b/bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/drv_adc_sample.h @@ -0,0 +1,6 @@ +#ifndef _DRV_ADC_SAMPLE_H_ +#define _DRV_ADC_SAMPLE_H_ + +void adc_test_init(void); + +#endif /* _DRV_ADC_SAMPLE_H_ */ \ No newline at end of file diff --git a/bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/main.c b/bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/main.c index 27f2ffc6697b3eb728a36721f8bb58082d1feee5..ace28c13126a3be139f55ae9ac2b1b39761fdc0a 100644 --- a/bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/main.c +++ b/bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/main.c @@ -15,6 +15,7 @@ #include #include "drv_pin.h" +#include "drv_adc_sample.h" #define LED_PIN ((3*32)+18) /* Original LED pin */ #define BUTTON_PIN ((1*32)+7) /* P1_7 button pin */ @@ -52,6 +53,9 @@ int main(void) /* Attach interrupt to button pin */ rt_pin_attach_irq(BUTTON_PIN, PIN_IRQ_MODE_FALLING, button_irq_callback, RT_NULL); rt_pin_irq_enable(BUTTON_PIN, PIN_IRQ_ENABLE); + + /* ADC sample */ + adc_test_init(); while (1) { @@ -60,6 +64,6 @@ int main(void) rt_pin_write(LED_PIN, led_state ? PIN_HIGH : PIN_LOW); - rt_thread_mdelay(500); + rt_thread_mdelay(500); } } diff --git a/bsp/nxp/mcx/mcxa/frdm-mcxa346/project.uvoptx b/bsp/nxp/mcx/mcxa/frdm-mcxa346/project.uvoptx index 56d3a78b4dfc7443461dd4f2b5f390b0cf3a458f..974d581c9115f7e11b810a41e6a4e082c290f34d 100644 --- a/bsp/nxp/mcx/mcxa/frdm-mcxa346/project.uvoptx +++ b/bsp/nxp/mcx/mcxa/frdm-mcxa346/project.uvoptx @@ -117,10 +117,25 @@ BIN\CMSIS_AGDI_V8M.DLL + + 0 + DLGTARM + (6010=-1,-1,-1,-1,0)(6018=-1,-1,-1,-1,0)(6019=-1,-1,-1,-1,0)(6008=-1,-1,-1,-1,0)(6009=-1,-1,-1,-1,0)(6014=-1,-1,-1,-1,0)(6015=-1,-1,-1,-1,0)(6003=-1,-1,-1,-1,0)(6000=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + + 0 CMSIS_AGDI_V8M - -X"Any" -UAny -O206 -S9 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0MCXA34X_1024.FLM -FS00 -FL0FE000 -FP0($$Device:MCXA346VLQ$devices\MCXA346\arm\MCXA34X_1024.FLM) + -X"Any" -UAny -O206 -S9 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0MCXA_1024.FLM -FS00 -FL0FE000 -FP0($$Device:MCXA346VLQ$devices\MCXA346\arm\MCXA_1024.FLM) 0 @@ -129,18 +144,25 @@ + + + 0 + 2 + vol,0x0A + + 0 0 - 0 - 0 + 1 + 1 0 0 0 0 - 0 + 1 0 0 0 @@ -211,6 +233,18 @@ 0 0 + + 1 + 3 + 1 + 0 + 0 + 0 + .\applications\drv_adc_sample.c + drv_adc_sample.c + 0 + 0 + @@ -221,7 +255,7 @@ 0 2 - 3 + 4 1 0 0 @@ -233,7 +267,7 @@ 2 - 4 + 5 1 0 0 @@ -245,7 +279,7 @@ 2 - 5 + 6 1 0 0 @@ -257,7 +291,7 @@ 2 - 6 + 7 1 0 0 @@ -269,7 +303,7 @@ 2 - 7 + 8 1 0 0 @@ -281,7 +315,7 @@ 2 - 8 + 9 1 0 0 @@ -293,7 +327,7 @@ 2 - 9 + 10 1 0 0 @@ -305,7 +339,7 @@ 2 - 10 + 11 1 0 0 @@ -325,7 +359,7 @@ 0 3 - 11 + 12 1 0 0 @@ -337,7 +371,7 @@ 3 - 12 + 13 1 0 0 @@ -349,7 +383,7 @@ 3 - 13 + 14 1 0 0 @@ -361,7 +395,7 @@ 3 - 14 + 15 1 0 0 @@ -373,7 +407,7 @@ 3 - 15 + 16 1 0 0 @@ -385,7 +419,7 @@ 3 - 16 + 17 1 0 0 @@ -397,7 +431,7 @@ 3 - 17 + 18 1 0 0 @@ -409,7 +443,7 @@ 3 - 18 + 19 1 0 0 @@ -421,7 +455,7 @@ 3 - 19 + 20 1 0 0 @@ -433,7 +467,7 @@ 3 - 20 + 21 1 0 0 @@ -445,7 +479,7 @@ 3 - 21 + 22 1 0 0 @@ -457,7 +491,7 @@ 3 - 22 + 23 1 0 0 @@ -469,7 +503,7 @@ 3 - 23 + 24 1 0 0 @@ -481,7 +515,7 @@ 3 - 24 + 25 1 0 0 @@ -493,7 +527,7 @@ 3 - 25 + 26 1 0 0 @@ -505,7 +539,7 @@ 3 - 26 + 27 1 0 0 @@ -517,7 +551,7 @@ 3 - 27 + 28 1 0 0 @@ -529,7 +563,7 @@ 3 - 28 + 29 1 0 0 @@ -541,7 +575,7 @@ 3 - 29 + 30 1 0 0 @@ -553,7 +587,7 @@ 3 - 30 + 31 1 0 0 @@ -567,13 +601,13 @@ Drivers - 0 + 1 0 0 0 4 - 31 + 32 1 0 0 @@ -585,7 +619,7 @@ 4 - 32 + 33 1 0 0 @@ -597,7 +631,7 @@ 4 - 33 + 34 1 0 0 @@ -609,7 +643,7 @@ 4 - 34 + 35 1 0 0 @@ -621,7 +655,7 @@ 4 - 35 + 36 1 0 0 @@ -631,6 +665,18 @@ 0 0 + + 4 + 37 + 1 + 0 + 0 + 0 + ..\Libraries\drivers\drv_adc.c + drv_adc.c + 0 + 0 + @@ -641,7 +687,7 @@ 0 5 - 36 + 38 1 0 0 @@ -653,7 +699,7 @@ 5 - 37 + 39 1 0 0 @@ -665,7 +711,7 @@ 5 - 38 + 40 1 0 0 @@ -677,7 +723,7 @@ 5 - 39 + 41 1 0 0 @@ -697,7 +743,7 @@ 0 6 - 40 + 42 1 0 0 @@ -709,7 +755,7 @@ 6 - 41 + 43 1 0 0 @@ -721,7 +767,7 @@ 6 - 42 + 44 1 0 0 @@ -733,7 +779,7 @@ 6 - 43 + 45 1 0 0 @@ -745,7 +791,7 @@ 6 - 44 + 46 1 0 0 @@ -757,7 +803,7 @@ 6 - 45 + 47 1 0 0 @@ -769,7 +815,7 @@ 6 - 46 + 48 1 0 0 @@ -781,7 +827,7 @@ 6 - 47 + 49 1 0 0 @@ -793,7 +839,7 @@ 6 - 48 + 50 1 0 0 @@ -805,7 +851,7 @@ 6 - 49 + 51 1 0 0 @@ -817,7 +863,7 @@ 6 - 50 + 52 1 0 0 @@ -829,7 +875,7 @@ 6 - 51 + 53 1 0 0 @@ -841,7 +887,7 @@ 6 - 52 + 54 1 0 0 @@ -853,7 +899,7 @@ 6 - 53 + 55 1 0 0 @@ -865,7 +911,7 @@ 6 - 54 + 56 1 0 0 @@ -885,7 +931,7 @@ 0 7 - 55 + 57 1 0 0 @@ -897,7 +943,7 @@ 7 - 56 + 58 1 0 0 @@ -909,7 +955,7 @@ 7 - 57 + 59 1 0 0 @@ -921,7 +967,7 @@ 7 - 58 + 60 1 0 0 @@ -933,7 +979,7 @@ 7 - 59 + 61 1 0 0 @@ -953,7 +999,7 @@ 0 8 - 60 + 62 1 0 0 @@ -965,7 +1011,7 @@ 8 - 61 + 63 1 0 0 @@ -977,7 +1023,7 @@ 8 - 62 + 64 1 0 0 @@ -989,7 +1035,7 @@ 8 - 63 + 65 2 0 0 @@ -1001,7 +1047,7 @@ 8 - 64 + 66 1 0 0 @@ -1013,7 +1059,7 @@ 8 - 65 + 67 2 0 0 @@ -1025,7 +1071,7 @@ 8 - 66 + 68 1 0 0 @@ -1039,13 +1085,13 @@ Libraries - 0 + 1 0 0 0 9 - 67 + 69 1 0 0 @@ -1057,7 +1103,7 @@ 9 - 68 + 70 1 0 0 @@ -1069,7 +1115,7 @@ 9 - 69 + 71 1 0 0 @@ -1081,7 +1127,7 @@ 9 - 70 + 72 1 0 0 @@ -1093,7 +1139,7 @@ 9 - 71 + 73 1 0 0 @@ -1105,7 +1151,7 @@ 9 - 72 + 74 1 0 0 @@ -1117,7 +1163,7 @@ 9 - 73 + 75 1 0 0 @@ -1129,7 +1175,7 @@ 9 - 74 + 76 1 0 0 @@ -1141,7 +1187,7 @@ 9 - 75 + 77 1 0 0 @@ -1153,7 +1199,7 @@ 9 - 76 + 78 1 0 0 @@ -1165,7 +1211,7 @@ 9 - 77 + 79 1 0 0 @@ -1177,7 +1223,7 @@ 9 - 78 + 80 1 0 0 @@ -1189,7 +1235,7 @@ 9 - 79 + 81 1 0 0 @@ -1201,7 +1247,7 @@ 9 - 80 + 82 1 0 0 @@ -1213,7 +1259,7 @@ 9 - 81 + 83 1 0 0 @@ -1225,7 +1271,7 @@ 9 - 82 + 84 1 0 0 @@ -1237,7 +1283,7 @@ 9 - 83 + 85 1 0 0 @@ -1249,7 +1295,7 @@ 9 - 84 + 86 1 0 0 @@ -1261,7 +1307,7 @@ 9 - 85 + 87 1 0 0 @@ -1273,7 +1319,7 @@ 9 - 86 + 88 1 0 0 @@ -1285,7 +1331,7 @@ 9 - 87 + 89 1 0 0 @@ -1297,7 +1343,7 @@ 9 - 88 + 90 1 0 0 @@ -1309,7 +1355,7 @@ 9 - 89 + 91 1 0 0 @@ -1321,7 +1367,7 @@ 9 - 90 + 92 1 0 0 @@ -1333,7 +1379,7 @@ 9 - 91 + 93 1 0 0 @@ -1345,7 +1391,7 @@ 9 - 92 + 94 1 0 0 @@ -1357,7 +1403,7 @@ 9 - 93 + 95 1 0 0 @@ -1369,7 +1415,7 @@ 9 - 94 + 96 1 0 0 @@ -1381,7 +1427,7 @@ 9 - 95 + 97 1 0 0 @@ -1393,7 +1439,7 @@ 9 - 96 + 98 1 0 0 @@ -1405,7 +1451,7 @@ 9 - 97 + 99 1 0 0 @@ -1417,7 +1463,7 @@ 9 - 98 + 100 1 0 0 @@ -1429,7 +1475,7 @@ 9 - 99 + 101 1 0 0 @@ -1441,7 +1487,7 @@ 9 - 100 + 102 1 0 0 @@ -1453,7 +1499,7 @@ 9 - 101 + 103 1 0 0 @@ -1465,7 +1511,7 @@ 9 - 102 + 104 1 0 0 diff --git a/bsp/nxp/mcx/mcxa/frdm-mcxa346/project.uvprojx b/bsp/nxp/mcx/mcxa/frdm-mcxa346/project.uvprojx index a4553409c6390d69690358b5c6e49f694d224505..5c09daee6245643a0203953665a89d4e045dc7bc 100644 --- a/bsp/nxp/mcx/mcxa/frdm-mcxa346/project.uvprojx +++ b/bsp/nxp/mcx/mcxa/frdm-mcxa346/project.uvprojx @@ -10,13 +10,13 @@ rtthread-frdm-mcxa346 0x4 ARM-ADS - 6230000::V6.23::ARMCLANG + 6240000::V6.24::ARMCLANG 1 MCXA346VLQ NXP - NXP.MCXA346_DFP.25.06.00 + NXP.MCXA346_DFP.25.09.00 https://mcuxpresso.nxp.com/cmsis_pack/repo/ IRAM(0x20000000,0x03c000) IRAM2(0x04000000,0x2000) IROM(0x03000000,0x2000) IROM2(0x00000000,0x0fe000) XRAM(0x04002000,0x2000) CPUTYPE("Cortex-M33") FPU3(SFPU) DSP CLOCK(12000000) ELITTLE @@ -394,6 +394,11 @@ 1 applications\main.c + + drv_adc_sample.c + 1 + .\applications\drv_adc_sample.c + @@ -1594,6 +1599,11 @@ 1 ..\Libraries\drivers\drv_uart.c + + drv_adc.c + 1 + ..\Libraries\drivers\drv_adc.c + diff --git a/bsp/nxp/mcx/mcxa/frdm-mcxa346/rtconfig.h b/bsp/nxp/mcx/mcxa/frdm-mcxa346/rtconfig.h index 71bdd77c2558763c1106cbe67c507ab45dfe3f40..e49624c39ca73dfbda2ddbcfde2dea894a464400 100644 --- a/bsp/nxp/mcx/mcxa/frdm-mcxa346/rtconfig.h +++ b/bsp/nxp/mcx/mcxa/frdm-mcxa346/rtconfig.h @@ -419,6 +419,9 @@ #define BSP_USING_PIN #define BSP_USING_UART #define BSP_USING_UART2 +#define BSP_USING_ADC +#define BSP_USING_ADC0 +#define BSP_USING_ADC0_CH22 /* end of On-chip Peripheral Drivers */ /* Board extended module Drivers */