完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
```mermaid
int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_USART1_UART_Init(); MX_ADC1_Init(); MX_ADC2_Init(); /* USER CODE BEGIN 2 */ /*执行ADC自动自校准校准前提:ADC必须被禁用(在执行HAL_ADC_Start()之前或者在HAL_ADC_Stop()之后执行此函数)。*/ HAL_ADCEx_Calibration_Start(&hadc1,ADC_SINGLE_ENDED); HAL_ADCEx_Calibration_Start(&hadc2,ADC_SINGLE_ENDED); HAL_UART_Receive_IT(&huart1, (uint8_t*)&RxData, 1); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HAL_ADC_Start(&hadc1);//启用 ADC,开始常规组的转换。 //dcbusval[0]=HAL_ADC_GetValue(&hadc1);//*0.015430500427*10; dcbusval[0]=HAL_ADC_GetValue(&hadc1)*0.015430500427; memcpy(vofaData,(uint8_t *)&dcbusval,sizeof(dcbusval)); HAL_UART_Transmit_DMA(&huart1,vofaData,12);//将vofaData通过串口1以DMA方式传输,不以串口传输 HAL_Delay(1); } /* USER CODE END 3 */ } ` 按照上述代码,ADC1的通道1和2,1是电压,2是温度,这样按照上述写法,1,2通道会相互影响;所以怎么样才能区分出来是那个通道想要将采集的数传出去`` |
|
相关推荐
2个回答
|
|
|
在使用ADC(模数转换器)时,通常会配置多个通道来采集不同的模拟信号。为了区分是哪个通道的数据,并在传输时标识这些数据,可以通过以下几种方式来实现: 1. 轮询方式 + 通道标识
2. DMA + 通道顺序
3. 中断方式 + 通道标识
4. 多通道扫描模式
5. 使用ADC的注入通道
总结
根据你的具体需求和应用场景,可以选择合适的方式来区分和传输ADC通道的数据。 |
|
|
|
|
|
你是指两个通道的数据出现乱序吧。
现在轮训方式提取结果,连EOC标志都没查,会不会有点盲目? 你最好基于中断方式或DMA方式,每次启动ADC后固定转换完指定个数的通道并提取相应数据, 以保证数据结果的提取和存放顺序。 查询方式的话也可以,同样要保证每次启动后 依次转换完指定通道。 查询式接收处理代码一定要简洁,尤其是配置的转换时间比较短时。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
stm32mp157的异核通信的rpmsg_sdb的m4固件和a7驱动该如何编写?
1472 浏览 0 评论
stm32f103用freertos对一个采样率为1kHz的传感器,进行采样,数据出差
1524 浏览 0 评论
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
3674 浏览 1 评论
3864 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
2483 浏览 1 评论
STM32H7打开DCache后,出现了串口接收信息为空的现象,是哪里出了问题?
751浏览 5评论
用NANO STM32F103RBT6的开发板烧录不了是哪里出了问题?
684浏览 5评论
730浏览 5评论
外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿?
974浏览 5评论
STM32L071CBT6低温环境下无法正常工作是什么原因引起的?
779浏览 5评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 07:19 , Processed in 0.501856 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4585