久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 8694|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

STM32ADS1256采集源代碼8通道24位

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:205405 發(fā)表于 2017-7-5 16:30 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "key.h"
#include "usart.h"
#include "exti.h"
#include "wdg.h"
#include "timer.h"
#include "stmflash.h"
#include "usb_lib.h"
#include "math.h"
#include "hw_config.h"
#include "string.h"
#include "stdlib.h"
#include "lcd.h"
#include "task_manage.h"
#include "bsp_ads1256.h"


int main(void)
{
        int32_t adc[8];
        int32_t volt[8];
        uint8_t i;
        uint8_t ch_num;
        char infoBackPC[64];
        char infoShowLCD[64];
  SystemInit();
        delay_init(72);             //延時(shí)初始化
        NVIC_Configuration();
        uart_init(256000);   //串口初始化
        key_init();//按鍵初始化
        initial_lcd();//液晶初始化
        LCD_Clear();
        LCD_Refresh_Gram();
        LCD_Show_CEStr(0,0,"ADS1256");//黑色
        LCD_Refresh_Gram();
        USBRelinkConfig();
        delay_ms(100);        /* 等待上電穩(wěn)定,等基準(zhǔn)電壓電路穩(wěn)定, bsp_InitADS1256() 內(nèi)部會(huì)進(jìn)行自校準(zhǔn) */
bsp_InitADS1256();        /* 初始化配置ADS1256.  PGA=1, DRATE=30KSPS, BUFEN=1, 輸入正負(fù)5V */
       
        /* 打印芯片ID (通過(guò)讀ID可以判斷硬件接口是否正常) , 正常時(shí)狀態(tài)寄存器的高4bit = 3 */
        {
                uint8_t id;

                id = ADS1256_ReadChipID();

                USB_SendStr("\r\n");
                USB_SendStr("讀取芯片ID\r\n");
                if (id != 3)
                {
                        sprintf(infoBackPC, "Error, ASD1256 Chip ID = 0x%X\r\n", id);
                }
                else
                {
                        sprintf(infoBackPC, "Ok, ASD1256 Chip ID = 0x%X\r\n", id);
                }
                USB_TxWrite((uint8_t*)infoBackPC, strlen(infoBackPC));
        }

        /* 設(shè)置PGA增益,數(shù)據(jù)更新速率 */
        #if 1
                USB_SendStr("\r\nPGA增益 = 1, 數(shù)據(jù)輸出速率 = 15sps, 單端8路掃描\r\n\r\n");

                ADS1256_CfgADC(ADS1256_GAIN_1, ADS1256_15SPS);        /* 配置ADC參數(shù): 增益1:1, 數(shù)據(jù)輸出速率 15Hz */

                /*
                   中斷服務(wù)程序會(huì)自動(dòng)讀取ADC結(jié)果保存在全局變量,主程序通過(guò) ADS1256_GetAdc() 函數(shù)來(lái)讀取這些數(shù)據(jù)
                */
                ADS1256_StartScan(0);        /* 啟動(dòng)中斷掃描模式. 0表示單端8路,1表示差分4路 */
                ch_num = 8;                /* 通道數(shù) = 8 或者4 */
        #else
                USB_SendStr("\r\nPGA增益 = 1, 數(shù)據(jù)輸出速率 = 15sps, 差分4路掃描\r\n\r\n");

                ADS1256_CfgADC(ADS1256_GAIN_1, ADS1256_15SPS);        /* 配置ADC參數(shù): 增益1:1, 數(shù)據(jù)輸出速率 15Hz */

                /*
                   中斷服務(wù)程序會(huì)自動(dòng)讀取ADC結(jié)果保存在全局變量,主程序通過(guò) ADS1256_GetAdc() 函數(shù)來(lái)讀取這些數(shù)據(jù)
                */
                ADS1256_StartScan(1);        /* 啟動(dòng)中斷掃描模式. 0表示單端8路,1表示差分4路 */
                ch_num = 4;                /* 通道數(shù) = 8 或者4 */
        #endif
       
        while(1)
        {
                for (i = 0; i < ch_num; i++)
                {
                        /* 從全局緩沖區(qū)讀取采樣結(jié)果。 采樣結(jié)果是在中斷服務(wù)程序中讀取的。*/
                        adc[i] = ADS1256_GetAdc(i);

                        /* 4194303 = 2.5V , 這是理論值,實(shí)際可以根據(jù)2.5V基準(zhǔn)的實(shí)際值進(jìn)行公式矯正 */
                        volt[i] = ((int64_t)adc[i] * 2500000) / 4194303;        /* 計(jì)算實(shí)際電壓值(近似估算的),如需準(zhǔn)確,請(qǐng)進(jìn)行校準(zhǔn) */
                }
                if(upToPC)
                /* 打印采集數(shù)據(jù) */
                {
                        int32_t iTemp;
                        upToPC = 0;
                        sprintf(infoBackPC, "[%dCH_NUM]\r\n", ch_num);USB_TxWrite((uint8_t*)infoBackPC, strlen(infoBackPC));
                        for (i = 0; i < ch_num; i++)
                        {
                                iTemp = volt[i];        /* 余數(shù),uV  */
                                if (iTemp < 0)
                                {
                                        iTemp = -iTemp;
                                        sprintf(infoBackPC, "%d=%6d,(-%d.%03d %03d V) \r\n", i, adc[i], iTemp /1000000, (iTemp%1000000)/1000, iTemp%1000);
                                }
                                else
                                {
                                        sprintf(infoBackPC,"%d=%6d,( %d.%03d %03d V) \r\n", i, adc[i], iTemp/1000000, (iTemp%1000000)/1000, iTemp%1000);
                                }
                                USB_TxWrite((uint8_t*)infoBackPC, strlen(infoBackPC));
                        }
                        //在液晶均顯示8通道電壓,單位0.1mv
                        for(i = 0; i < 4; i++)
                        {
                                sprintf(infoShowLCD, "CH%d", i*2);
                                LCD_ShowString(1,0 , i*16, (const u8*)infoShowLCD);
                                LCD_Refresh_Gram();
                                sprintf(infoShowLCD, "%05d", volt[i*2]/100);
                                LCD_ShowString(0,24 , i*16, (const u8*)infoShowLCD);
                                LCD_Refresh_Gram();

                                sprintf(infoShowLCD, "CH%d", i*2+1);
                                LCD_ShowString(1,64 , i*16, (const u8*)infoShowLCD);
                                LCD_Refresh_Gram();
                                sprintf(infoShowLCD, "%05d", volt[i*2+1]/100);
                                LCD_ShowString(0,88 , i*16, (const u8*)infoShowLCD);
                                LCD_Refresh_Gram();
                        }
                LCD_Refresh_Gram();
                }
        }
}


8通道AD轉(zhuǎn)換stm32.zip

434.14 KB, 下載次數(shù): 102, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:59400 發(fā)表于 2017-7-14 16:53 | 只看該作者
看看行不行先
回復(fù)

使用道具 舉報(bào)

板凳
ID:581140 發(fā)表于 2019-7-13 10:51 | 只看該作者
定義了infoShowLCD,之后就可以直接用了????
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产91精品久久久久久久网曝门 | 九九久久久 | 日本网站免费在线观看 | www.日韩| 中文字幕在线第二页 | 久久国产精品久久久久久 | 精品国产一区二区在线 | 亚洲欧美日韩精品久久亚洲区 | 91免费在线视频 | 国产在线一区二区 | 国产成人精品免高潮在线观看 | 国产视频久久 | 国产精品一区二区久久 | 国产视频久久 | av影片在线 | 欧美久久久久久 | 久久高潮| 福利成人 | 久久久久久久电影 | 99久久精品国产一区二区三区 | 国产午夜精品一区二区 | 成人在线看片 | 中文字幕高清 | 久久久91精品国产一区二区三区 | 国产精品黄视频 | 亚洲精选一区二区 | 国产精品av久久久久久毛片 | 欧美久久久 | 久久久精| 一区二区三区电影网 | 亚洲精品黄色 | 国产aⅴ爽av久久久久久久 | 国产福利在线 | 欧美日韩精品专区 | 99这里只有精品视频 | 国产精品免费视频一区 | 国产成人av一区二区三区 | va精品| 狠狠操狠狠色 | 精品久久一区二区三区 | 国产一区在线免费观看 |