標(biāo)題:
STM32驅(qū)動(dòng)ADS1256程序,親測可用
[打印本頁]
作者:
lp060120
時(shí)間:
2019-11-6 16:02
標(biāo)題:
STM32驅(qū)動(dòng)ADS1256程序,親測可用
24位高精度DAC模塊,ADS1256程序,親測可用。用于高精度電壓采集。
單片機(jī)源程序如下:
#include <stdio.h>
#include <string.h>
#include "stm32f10x.h"
#include "stm32f10x_it.h"
#include "io.h"
#include "key.h"
#include "usart.h"
#include "adc.h"
#include "delay.h"
#include "timer.h"
#include "ina219.h"
unsigned long z1=0;
char strg[8];
float kk3;
void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
/* Configure one bit for preemption priority */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
/* Enable the UART4 Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = UART4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 6;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
/* Enable the UART5 Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = UART5_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 5;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
//Enable DMA2 Channel3 Interrupt
// NVIC_InitStructure.NVIC_IRQChannel = DMA2_Channel3_IRQn;
// NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
// NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
// NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
// NVIC_Init(&NVIC_InitStructure);
}
void SysInit (void)
{
SystemInit();//系統(tǒng)時(shí)鐘配置 配置為72MHZ
delay_init();//延時(shí)函數(shù)初始化
// IO_Init();
GPIO_init();
TIM2_Int_Init(9,719);//10Khz的計(jì)數(shù)頻率,計(jì)數(shù)到10為1ms
TIM3_Int_Init(99,7199);//10Khz的計(jì)數(shù)頻率,計(jì)數(shù)到100為10ms
Usart_Init();
NVIC_Configuration();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
//Adc_Init();
//delay_ms(300);
ADS1256_int();
}
int main(void)
{
SysInit();
Brake_On();
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);//等待驅(qū)動(dòng)器上電完成
// MotorHome();
// PowerOnMotorHome();
while(1)
{
// delay_ms(1000);
// readad();
// z1=result;
// kk3=(z1-2560)*5.0/8388652;
//
// sprintf(strg,"VALUE3=%.3f\r\n",kk3);
// Usart4_SendStr(strg);
// z1=0;
// delay_ms(1000);
//
/*ScanKey();
if(ucKeyEventFlag)
{
KeyEventProcess();
ucKeyEventFlag=0;
}
//
if(!ESTOP()&&(!EstopFlag))
{
delay_ms(10);
if(!ESTOP()&&(!EstopFlag))
{
EstopFlag=1;
MotorStartFlag=0;
// TIMERCOUNTER_OFF();
// delay_ms(1000);
}
}
else if(ESTOP() && EstopFlag)
{
delay_ms(10);
if(ESTOP() && EstopFlag)
{
EstopFlag=0;
MotorHome();
}
} */
}
}
復(fù)制代碼
所有資料51hei提供下載:
ADS1256電壓測試板驗(yàn)證程序.7z
(198.1 KB, 下載次數(shù): 213)
2019-11-10 02:07 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
bdwang8901
時(shí)間:
2020-5-20 13:48
謝謝分享
作者:
5132222
時(shí)間:
2020-12-16 10:49
為什么我這里接收不到信息,程序燒錄沒問題
作者:
fcmer
時(shí)間:
2021-7-2 23:52
測試一下。有點(diǎn)亂。
作者:
shumivan
時(shí)間:
2021-7-9 09:17
最近用多路的ADC高精度采集,正好這款芯片是個(gè)不好的選擇.又多了一個(gè)選擇.
作者:
幻神神
時(shí)間:
2024-1-22 07:50
樓主你好,這個(gè)程序我下載好了,但是連接串口沒任何反應(yīng),你有沒有遇到過,崩潰了
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1