硬件平台:STM32F429I-DISCORVERY 软件平台:KEIL MDK5.10 DMA知识点:直接内存访问(DMA)是用来以提供外设和内存、内存和内存之间的高速数据传输的。数据可以在没有任何CPU干预下通过的DMA进行传输。这使得CPU资源更倾重与其他操作。 DMA控制器是一个复杂的总线矩阵架构,结合了功能强大的双AHB主总线架构与独立的FIFO,以优化系统带宽。两个DMA控制器共有16个数据流(stream),每个数据流可以编程与规定的通道中的一个搭配。 在STM32F429I-DISCO board中,由于串口2被L3GD20和液晶数据线占用,所以串口1很方便,而且还留了2个孔外接。 This example describes how to use the ADC3 and DMA to transfer continuously converted data from ADC3 to memory. The ADC3 is configured to convert continuously channel13. Each time an end of conversion occurs the DMA transfers, in circular mode, the converted data from ADC3 DR register to the ADC3ConvertedValue variable. To get the maximum ADC performance (2.4 MSPS, at 2.4V to 3.6V supply range), the ADC clock must be set to 36MHz. As ADC clock is equal to APB2/2, then APB2 value will be 72MHz which lead to maximum AHB (System clock) at 144MHz. Since the sampling time is set to 3 cycles and the conversion time to 12bit data is 12 cycles, so the total conversion time is (12+3)/36= 0.41us(2.4Msps). The converted voltage is displayed on the STM32F429I-DISCO board LCD (when the define USE_LCD is enabled in main.h). It can also be monitored by adding the variable "ADC3ConvertedValue" to the debugger watch window. * 说 明 : 实现printf和scanf函数重定向到串口1,即支持printf信息到USART1 * 实现重定向,只需要添加2个函数: * int fputc(int ch, FILE *f); * int fgetc(FILE *f); * 对于KEIL MDK编译器,编译选项中需要在MicorLib前面打钩,否则不会有数据打印到USART1。 */ Description: This example is used as a template project that can be used as reference to build any new firmware application for STM32F429xx devices using the STM32F4xx Standard Peripherals Library. it can be easily tailored to any other supported device and development board. int main(void) { uint8_t aTextBuffer[15]; uint32_t i,sum; SysTick_Init(); STM_EVAL_LED_Config(); STM_EVAL_PBInit(BUTTON_MODE_EXTI); /* Initialize the LCD */ LCD_Init(); LCD_LayerInit(); LTDC_Cmd(ENABLE); LCD_SetLayer(LCD_FOREGROUND_LAYER); LCD_Clear(LCD_COLOR_BLUE); LCD_DisplayStringLine(LCD_LINE_4, "Hello,Casy!"); LCD_DisplayStringLine(LCD_LINE_5, "(*^__^*)"); USART1_GPIO_Config(); printf("\n\rHello, Stm32f429-discovery Board ! \n\r"); ADC3_CH13_DMA_Config(); ADC_SoftwareStartConv(ADC3); /* Start ADC3 Software Conversion */ while (1) { /* convert the ADC value (from 0 to 0xFFF) to a voltage value (from 0V to 3.0V)*/ uwADC3ConvertedVoltage = uhADC3ConvertedValue *3000/0xFFF;//(0xfff=4096=2^12) printf("\n\rThe adc sample voltage is : %d mV\n\r",uwADC3ConvertedVoltage); for(i = 0;i |
【STM32F429开发日志】汉字显示(取模方式)
【STM32F429开发日志】5.uCOS-ii V2.91 移植OK
图形化玩转Nucleo-STM32F413手机APP远程控制应用开发
【stm32F429开发日志】使用STM32CubeMX配置STM32F429_USB_HID
【STM32F429开发日志】(三)使用STM32Cube开发环境
【STM32F429开发日志】——网络收集的例程分享(包括所有STM32F429Discovery板上外设驱动)
分享个用STM32F429做的网络摄像头
STM32F429UCOS 源代码
【STM32F429开发日志】+hello led(闪烁led灯)
STM32F429DSICOVERY移植到STemWIN(图片+源码)
早就搞这个啦,呵呵,采样是基础!!~~
RE:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
回复:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
回复:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
回复:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
RE:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
回复:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
RE:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
回复:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
回复:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
回复:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
RE:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
那好吧
RE:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
回复:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)
回复第 10 楼 于2014-06-24 18:03:01发表:
参考参考!!!
RE:【STM32F429开发日志】4.ADC+DMA高速采样(2.4Msps)