高级会员

- 积分
- 674
- 金钱
- 674
- 注册时间
- 2020-12-5
- 在线时间
- 202 小时
|
2金钱
本帖最后由 车嘉炜 于 2020-12-21 11:13 编辑
最近初学单机,学了一下ADC功能以及DMA,想将ADC采样来的数据存到数组里面然后存进内存,但是现在对于如何构建这样一个数组没有头绪。在网上找到了一个例程,里面的数组是这样定义的,不是很明白,希望可以帮忙解释一下。或者有更好的构建数组的方法也请告知一下,感激不尽。float ADC_Received;uint32_t ADC_Received1;
uint8_t ADC_Received2[11];
ADC_Received = (float)SendBuff*3.3/4069;
ADC_Received1 = ADC_Received * 1000000000;
ADC_Received2[0]=(ADC_Received1/1000000000 + 0x30); //usart_putchar(0x2e);
ADC_Received2[1]=(ADC_Received1%1000000000/100000000 + 0x30);
ADC_Received2[2]=(ADC_Received1%1000000000%100000000/10000000 + 0x30);
ADC_Received2[3]=(ADC_Received1%1000000000%100000000%10000000/1000000 + 0x30);
ADC_Received2[4]=(ADC_Received1%1000000000%100000000%10000000%1000000/100000 + 0x30);
ADC_Received2[5]=(ADC_Received1%1000000000%100000000%10000000%1000000%100000/10000 + 0x30);
ADC_Received2[6]=(ADC_Received1%1000000000%100000000%10000000%1000000%100000%10000/1000 + 0x30);
ADC_Received2[7]=(ADC_Received1%1000000000%100000000%10000000%1000000%100000%10000%1000/100 + 0x30);
ADC_Received2[8]=(ADC_Received1%1000000000%100000000%10000000%1000000%100000%10000%1000%100/10 + 0x30);
ADC_Received2[9]=(ADC_Received1%10 + 0x30); ADC_Received2[10]=0x0d;
|
最佳答案
查看完整内容[请看2#楼]
1. adc dma原子哥有例程;
2. 贴出来的代码是把ad值按位转成字符串存进数组;
3. 不要被别人的代码误导
|