ccdaddma程序参考

ccdaddma程序参考

ID:21963373

大小:90.50 KB

页数:16页

时间:2018-10-25

ccdaddma程序参考_第1页
ccdaddma程序参考_第2页
ccdaddma程序参考_第3页
ccdaddma程序参考_第4页
ccdaddma程序参考_第5页
资源描述:

《ccdaddma程序参考》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1025766910QQliu_fanyiccd+ad+dma,已经成功出图像了。串口的那个函数我就不发了。不能直接下载到板子上,我就是挑有用的部分发上来了。函数太多,都发上来会混乱主程序:#include"common.h"//#include"HAL_ADC.h"#include"liu_adc.h"#include"uart.h"include"HAL_GPIO.h"#include"dma.h"//函数定义voidinit_pwm(void);voiddelay(void);//全局变暈uintl6dmarm=0;uint8video[21000];//[140][ROW];

2、//uintl6a[10000],*p=a,*q;voidmain(void)//初始化ADCDisablelnterrupts;LPLD_GPIOJnit(PORTA_BASE_PTR,5,0,0,0x9);LPLD_GPIO_Init(PORTE_BASE_PTR,26,0,0,0x9);UU_ADCJnit(ADCO_BASE_PTR,MODE一8,0);//使能中断enable_irq(91);//GPIOE向量号为107.IRQ#is107-16=91Enablelnterrupts;while(l){dma.h:#ifndef_DMA_H_#define_DMA_H_#i

3、nclude"common.h"#include"dma_channels.h"#defineROW160voiddmajnit();******************************************************************/*#endif/*_DMA_H_*/dma.c:#include"dma.h"externuint8video[21000];//video[140][ROW];voiddma_init(){SIM_SCGC6

4、=SIM_SCGC6_DMAMUX_MASK;//打开DMA多路复用器时钟SIM_SCGC7

5、=SIM_SCG

6、C7_DMA_MASK;//打开DMA模块时钟DMAMUX_CHCFG0=DMAMUX_CHCFG_SOURCE(40);//DMA通道0对应40号DMA请求,即ADC0DMA_TCD0_SADDR=(uint32_t)&(ADC_R_REG(ADCO_BASE_PTR,0));DMA_TCDO_SOFF=0;//每次传送源地址不变DMA_TCDO_CITER_ELINKNO=DMA_CITER_ELINKNO_CITER(ROW);//当前主循环次数,采集点数DMA_TCDO_BITER_EUNKNO=DMA_BITER_ELINKNO_BITER(ROW);//起始主循环次数,采

7、集点数DMA_TCDO_ATTR=DMA_ATTR_SSIZE(O)

8、DMA_ATTR_DSIZE(O);//源数据宽度8bit,目的数据宽度8bitDMA_TCDO_NBYTES_MLNO=DMA_NBYTES_MLNO_NBYTES(1);//每次读取一字节DMA_TCDO_SLAST=0;//主循环结束后源地址0回写tedDMATCDODLASTSGA=0;DMA_TCD0_DADDR=(uint32)video;//设置目的地址,video数组第一个元素DMA_TCDO_DOFF=1;//每次写目的地口1DMA_TCDO_CSR=DMA_CSR_DREQ_MASK;//DMA

9、通道0主循环结束后停止硬件请求DMA_TCDO_CSR

10、=DMA_CSRJNTMAJOR_MASK;//使能DMA0中断DMAMUX_CHCFGO

11、=DMAMUX_CHCFG_ENBL_MASK;//DMA通道0使能//DMA_TCDO_CSR

12、=DMA_CSR_START_MASK;liu_adc.c:#include"common.h"#include"liu_adc.h"tADC_ConfigAdcO_Config;tADC_ConfigAdcl_Config;uint8_tLIU_ADC_Init(ADC_MemMapPtradcmap,uint8_tmode,uint8_t

13、diff){//开启ADC模块时钟if(adcmap==ADCO_BASE_PTR){SIM.SCGC6

14、=(SIM_SCGC6_ADC0_MASK);//系统时钟门控制寄存器6,adc0标志位设为1}elsereturn0;"校准ADC_Cal(adcmap);//初始化ADC//sc2ADC_SC2_REG(adcmap)&=〜ADC_SC2_ADTRG_MASK;ADC_SC2_REG(adcmap)

15、=(ADTRG_SW

16、ACFE_DISABLED

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。