采样结果是在中断服务程序中读取的

iTemp /1000000,180MhzStm32_Clock_Init(360,num。

25, (iTemp%1000000)/1000, iTemp /1000000,num,。

数据输出速率 1KHz ADS1256_CfgADC(ADS1256_GAIN_1,2, iTemp%1000);}else{printf(第%d个AD口的电压为%d.%03d%03d V\r\n,8);//初始化延时函数180为系统时钟频率delay_init(180); //初始化USARTuart_init();//初始化配置ADS1256.bsp_InitADS1256();// 配置ADC参数 增益1:1。

adc[num] ADS1256_GetAdc(num);//4194303 2.5V , 轮流采集8个通道的ADC数据. 通过 ADS1256_GetAdc() 函数来读取这些数据 ADS1256_StartScan();//主循环测试while(1){//实时检测ADS1256的8个通道的输入电压值for(num0;num8;num){//从全局缓冲区读取采样结果, 有关资源下载链接中主函数乱码的问题在此发布一下抱歉之前下载的同仁们#include sys.h#include delay.h#include usart.h#include ads1256.h#include stdio.h/** * brief 主函数* param 无* return 空*/int main(void){//测试AD的存放数组int32_t adc[8];//记录电压的数组int32_t volt[8];//在AD中电压转换后的值int32_t iTemp0;//初始化HAL库HAL_Init();//设置时钟, 采样结果是在中断服务程序中读取的, ADS1256_1000SPS);// 启动中断扫描模式, iTemp%1000);}}printf(\r\n);delay_ms(1000);}} , (iTemp%1000000)/1000, 这是理论值实际可以根据2.5V基准的实际值进行公式矫正\计算实际电压值近似估算的如需准确请进行校准volt[num] ((int64_t)adc[num] * 2500000) / 4194303;iTempvolt[num];//输入电压值符号为不同时的电压转换if(iTemp0){iTemp-iTemp;printf(第%d个AD口的电压为-%d.%03d%03d V\r\n。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://acg.inmoke.com/zixun/Jk/23031.html