1:CubeMx初始化配置
目录
1:CubeMX初始化配置
配置DMA时要注意字长一个word是32位。
2:代码配置
定义接收数组
uint32_t ADC_Value[96];//ADC采样接收函数
在main函数中的while前面添加
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&ADC_Value, 96);
主函数中添加,发送数据代码
for(int i=0;i<8;i++)
{
Can_Tx.ExtId = 0x00000100|i;
tdata[0]=ADC_Value[2*i]>>24;
tdata[1]=ADC_Value[2*i]>>16;
tdata[2]=ADC_Value[2*i]>>8;
tdata[3]=ADC_Value[2*i];
tdata[4]=ADC_Value[2*i+1]>>24;
tdata[5]=ADC_Value[2*i+1]>>16;
tdata[6]=ADC_Value[2*i+1]>>8;
tdata[7]=ADC_Value[2*i+1];
HAL_CAN_AddTxMessage(&hcan1,&Can_Tx,tdata,&pTxMailbox);
HAL_Delay(100);
}
3:ADC采样测试
接收结果如下;