完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
最近有新手问我,什么串口2 串口3 都是那个引脚 以及PWM配置那个引脚 通道选择哪一个、
先简单的描述一下 PWM //设置该引脚为复用输出功能,输出TIM3 CH2的PWM脉冲波形 GPIOB.5 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //TIM_CH2 //设置该引脚为复用输出功能,输出 TIM1 CH1 的 PWM 脉冲 GPIOInitStructure.GPIOPin = GPIOPin8; //TIMC 如果不知道 想要使用其他的神费劲 只能上网抄别人的程序了 case 0: // 通道0 /* ADC1 regular channel0 configuration */ ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_13Cycles5); /* Start ADC1 Software Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0); // 等待转换完成 AnalogChannel[0].Buff[AnalogChannel[0].ChCnt++] = ADC1->DR; // 通道0 if(AnalogChannel[0].ChCnt >= SampMax) AnalogChannel[0].ChCnt = 0; ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_13Cycles5); break; case 1: // 通道1 ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_13Cycles5); /* Start ADC1 Software Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0); // 等待转换完成 AnalogChannel[1].Buff[AnalogChannel[1].ChCnt++] = ADC1->DR; // 通道0 if(AnalogChannel[1].ChCnt >= SampMax) AnalogChannel[1].ChCnt = 0; ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_13Cycles5); break; case 2: // 通道4 /* ADC1 regular channel0 configuration */ ADC_RegularChannelConfig(ADC1, ADC_Channel_4, 1, ADC_SampleTime_13Cycles5); /* Start ADC1 Software Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0); // 等待转换完成 AnalogChannel[2].Buff[AnalogChannel[2].ChCnt++] = ADC1->DR; // 通道0 if(AnalogChannel[2].ChCnt >= SampMax) AnalogChannel[2].ChCnt = 0; ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_13Cycles5); break; case 3: // 通道5 /* ADC1 regular channel0 configuration */ ADC_RegularChannelConfig(ADC1, ADC_Channel_5, 1, ADC_SampleTime_13Cycles5); /* Start ADC1 Software Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0); // 等待转换完成 AnalogChannel[3].Buff[AnalogChannel[3].ChCnt++] = ADC1->DR; // 通道0 if(AnalogChannel[3].ChCnt >= SampMax) AnalogChannel[3].ChCnt = 0; ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_13Cycles5); break; case 4: // 通道6 ADC_RegularChannelConfig(ADC1, ADC_Channel_6, 1, ADC_SampleTime_13Cycles5); /* Start ADC1 Software Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0); // 等待转换完成 AnalogChannel[4].Buff[AnalogChannel[4].ChCnt++] = ADC1->DR; // 通道0 if(AnalogChannel[4].ChCnt >= SampMax) AnalogChannel[4].ChCnt = 0; ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_13Cycles5); break; case 5: // 通道7 /* ADC1 regular channel0 configuration */ ADC_RegularChannelConfig(ADC1, ADC_Channel_7, 1, ADC_SampleTime_13Cycles5); /* Start ADC1 Software Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0); // 等待转换完成 AnalogChannel[5].Buff[AnalogChannel[5].ChCnt++] = ADC1->DR; // 通道0 if(AnalogChannel[5].ChCnt >= SampMax) AnalogChannel[5].ChCnt = 0; ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_13Cycles5); break; case 6: // 通道8 /* ADC1 regular channel0 configuration */ ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 1, ADC_SampleTime_13Cycles5); /* Start ADC1 Software Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0); // 等待转换完成 AnalogChannel[6].Buff[AnalogChannel[6].ChCnt++] = ADC1->DR; // 通道0 if(AnalogChannel[6].ChCnt >= SampMax) AnalogChannel[6].ChCnt = 0; ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_13Cycles5); break; case 7: // 通道9 /* ADC1 regular channel0 configuration */ ADC_RegularChannelConfig(ADC1, ADC_Channel_9, 1, ADC_SampleTime_13Cycles5); /* Start ADC1 Software Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0); // 等待转换完成 AnalogChannel[7].Buff[AnalogChannel[7].ChCnt++] = ADC1->DR; // 通道0 if(AnalogChannel[7].ChCnt >= SampMax) AnalogChannel[7].ChCnt = 0; ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_13Cycles5); break; default: ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_13Cycles5); ADC_SoftwareStartConvCmd(ADC1, ENABLE); while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0); // 等待转换完成 temp = ADC1->DR; // 通道10 temp = temp; 这一切都在数据手册里 ,详细可以自己慢慢查看 在例如 ADC 再例如 DAC |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1678 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1580 浏览 1 评论
1012 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
703 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1626 浏览 2 评论
1892浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
673浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
537浏览 3评论
556浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
524浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 19:58 , Processed in 0.725844 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号