标题:
STM32驱动ADS1256程序,亲测可用
[打印本页]
作者:
lp060120
时间:
2019-11-6 16:02
标题:
STM32驱动ADS1256程序,亲测可用
24位高精度DAC模块,ADS1256程序,亲测可用。用于高精度电压采集。
单片机源程序如下:
#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();//系统时钟配置 配置为72MHZ
delay_init();//延时函数初始化
// IO_Init();
GPIO_init();
TIM2_Int_Init(9,719);//10Khz的计数频率,计数到10为1ms
TIM3_Int_Init(99,7199);//10Khz的计数频率,计数到100为10ms
Usart_Init();
NVIC_Configuration();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
//Adc_Init();
//delay_ms(300);
ADS1256_int();
}
int main(void)
{
SysInit();
Brake_On();
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);//等待驱动器上电完成
// 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();
}
} */
}
}
复制代码
所有资料51hei提供下载:
ADS1256电压测试板验证程序.7z
(198.1 KB, 下载次数: 213)
2019-11-10 02:07 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
bdwang8901
时间:
2020-5-20 13:48
谢谢分享
作者:
5132222
时间:
2020-12-16 10:49
为什么我这里接收不到信息,程序烧录没问题
作者:
fcmer
时间:
2021-7-2 23:52
测试一下。有点乱。
作者:
shumivan
时间:
2021-7-9 09:17
最近用多路的ADC高精度采集,正好这款芯片是个不好的选择.又多了一个选择.
作者:
幻神神
时间:
2024-1-22 07:50
楼主你好,这个程序我下载好了,但是连接串口没任何反应,你有没有遇到过,崩溃了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1