马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
这是主函数的代码
int main(void)
{
u16 i=0;
float pro;//½ø¶È
Stm32_Clock_Init(336,8,2,7);//ÉèÖÃʱÖÓ,168Mhz
delay_init(168); //ÑÓʱ³õʼ»¯
uart_init(84,9600); //³õʼ»¯´®¿Ú²¨ÌØÂÊΪ115200
MYDMA_Config(DMA2_Stream4,0,(u32)&ADC1->DR,(u32)SendBuff,SEND_BUF_SIZE);//DMA2,STEAM7,CH4,ÍâÉèΪ´®¿Ú1,´æ´¢Æ÷ΪSendBuff,³¤¶ÈΪ:SEND_BUF_SIZE.
Adc_Init();
ADC1->CR2 |=1<<8; //DMAÖжÏ
ADC1->CR2 |=1<<9; //DMA ÇëÇó·¢³ö
while(1)
{
if(DMA2->HISR&(1<<5)) //µÈ´ýDMA2_Steam4´«ÊäÍê³É
{
DMA2->HIFCR|=1<<5; //Çå³ýDMA2_Steam4´«ÊäÍê³É±êÖ¾
}
pro=DMA2_Stream4->NDTR; //µÃµ½µ±Ç°»¹Ê£Óà¶àÉÙ¸öÊý¾Ý
printf("pro=%5.2f\n",pro);
printf("analong=%d\n",SendBuff);
i++;
if(i==2) i=0;
printf("i=%d\n",i);
}
}
这里主要还用了DMA中断的方式采集数据
DMA实验+扫描模式=ADC多通道输出.rar
(1.2 MB, 下载次数: 2)
|