/* 只要序列完成、就会触发此中断 * // __attribute__((ramfunc) void ADC14_IRQHandler (void) { uint64_t status; //打开 LED //以12kHz 频率切换,类似于6kHz 时钟 // map_GPIO_setOutputHighOnPin (GPIO_PORT_P1、 clearNVERT= 0);clearC14_InterruptStatus = ADC14_0 (GPIO0_Interrupt0);_Interrupt0 = ADC14 ) if (status & ADC_INT8) { map_ADC14_disableConversion (); //在 DMA 通道0上强制执行软件传输*/ map_dma_requestSoftwareTransfer (0); //在 DMA 通道1上强制执行软件传输*/ map_dma_requestSoftwareTransfer (1); // 在 DMA 通道2上强制执行软件传输* ;// enable_pot_p1 (0 ~); // enable_pot_enable_pio_transfer 1);// enable_enablepio_enable_enable_p1 (0);// enable_enable_enablepio_enable_enable_p1 (1);// enable_enable_enable_enablep1) /* ADC14 MEM6的完成中断*/ __attribute__((ramfunc) void DMA_INT1_IRQHandler (void) { //使用 DMA 的交替模式在主缓冲器和备用缓冲器之间切换*/ if (DMA_getChannelAttribute (0)& UDMA_ATT_ALTSELPRI) | UCC_0 | UCC_0 | UCC_0 | UCC_0 |设置为 DMA_DR_0 | ADCC_0 | UCC_0 | UCC_0 | UCC_ADCC_0 number_of _samples); } 否则 { dma_setChannelControl (Udma_alt_select | dma_ch0_RESERVED0、 Udma_size_16 | Udma_SRC_INC_none | Udma_dst_16 | Udma_ara_1); dma_setChannelTransfer (Udma_size_16)| Udma_void 、Udma_rt_0*、Udma_tma_tma_tma_em_bufferp0 number_of_samples); } //以512度量值进行切换 map_GPIO_toggleOutputOnPin (GPIO_port_P2、GPIO_PIN0); } // ADC14 MEM7的完成中断*/ _属性_(ramfunc) void dma_int2_IRQHandler ( INC)|//用 void dma_ch_r_1和 uedma_tr_u_u1 (tdma_delt_ta_ta_tdma_tag_t_r_ma_tas_1)| void transdma_dma_en_r_r_r_r_r_tma_r_tma_r_tma_tma_r_tma_r_tag_r_r_tma_r_tma_ench_r_tma_tma_1 (void 1)| tma_tas_ DMA_setChannelTransfer (UDMA_PRI_SELECT | DMA_CH1_RESERVED0、 UDMA_MODE_pingpong、(void*)&ADC14->MEM[7]、 prim_buffer1、 Number of _samples); } 否则 { dma_setChannelControl (Udma_ALT_SELECT | dma_CH1_RESERVED0、 Udma_SIZE_16 | Udma_SRC_INC_NONE | Udma_DST_INC_16 | Udma_ARB_1); dma_setChannelTransfer (Udma_size_16)(Udma_EDB_EDB_1 、Udma_EDB_1)| Udma_EDB_EDB_1和 UESEDB_0 number_of_samples); } //以512度量值进行切换 map_GPIO_toggleOutputOnPin (GPIO_PORT_P2、GPIO_PIN0); } // ADC14 MEM8的完成中断*/ _ attribute _(ramfunc) void dma_int3_IRQHandler ( PRI)|// void dma_delt_t_ta_ta_tdma_r_ench_r2 | tdma_ma_r_uench_ma_ma_tas_r_1 (void 1)| tas_r_r_tas_r_tas_r_r_tas_r_r_tas_r_r_r_tas_t_r_tase_t_tas_r_r_r_tas_t_t_r_tase_tas_t_t_r_tase_ DMA_setChannelTransfer (UDMA_PRI_SELECT | DMA_CH2_RESERVED0、 UDMA_MODE_pingpong、(void*)&ADC14->MEM[8]、 prim_buffer2、 number_for_samples); switch_data = 1; } 否则 { dma_setChannelControl (Udma_alt_select | dma_ch2_RESERVED0、 Udma_size_16 | Udma_SRC_INC_NONE | Udma_dst_INC_16 | Udma_arC_1);em_setChannel_16 | Udma_transfer_udma_e*8 (Udma_udma_in_udma_transfer_udma_in_transfer_udma_in_udma_in_in_transfer_udma_udma_in_in_in_in_in_in_in number_of _samples); switch_data = 0; } //以512个度量值切换 adc8 map_GPIO_toggleOutputOnPin (GPIO_PORT_P2、GPIO_PIN0); //map_Interrupt_disableSlepOnIsrExit (); SCB->SCR &&~SCB_SCR_SLEEPDEOS; }
遗憾的是、该示例未显示如何初始化和设置上述所有内容;是否有人可能会显示初始化各种通道和触发器的顶部位以及自动扫描模式、以使其实际运行? 我只是尝试在3个数据通道中读取数据、以便我可以对它们进行比较、并且已经有相当长的一段时间了、我一直在与这个示例进行拆裂。
此致、
Julian