标题:
一款DAC模块(TLV5608&TLV5610)STM32源程序
[打印本页]
作者:
lp060120
时间:
2019-11-6 16:10
标题:
一款DAC模块(TLV5608&TLV5610)STM32源程序
高精度DAC转换模块,可用于DIY程控电源,程序可直接使用(TLV5608)。如使用TLV5610,请自行阅读IC资料,做微小更改。
单片机源程序如下:
#include <stdio.h>
#include <string.h>
#include "stm32f10x.h"
#include "stm32f10x_it.h"
#include "io.h"
//#include "key.h"
#include "delay.h"
//#include "timer.h"
#include "usart.h"
#include "adc.h"
//#include "24cxx.h"
//#include "menu.h"
#include "TLV56xx.H"
void Uart1_PutString(char* buf,u8 len );
u8 Uart1_PutChar(u8 ch);
u8 Uart1_recChar(void);
void judge_command(void);
void manul_test(void);
void auto_test(void);
void debug_test(void);
void emerg(void);
//*DO01ON#----6
//DO01OFF---7
//uchar command_data[7];
//uchar RX_dat;
int STEP_flag;
//u8 count;
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();//延时函数初始化
NVIC_Configuration();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
IO_Init();
//TIM2_Int_Init(99,71);//1Mhz的计数频率,计数到100为0.1ms
//TIM3_Int_Init(99,7199);//10Khz的计数频率,计数到100为10ms
//Adc_Init();
Usart_Init();
DAC_Tlv56xx_Init();
}
int main(void)
{
// int flag1,flag2,flag3,flag4;
//flag1=0,flag2=0,flag3=0,flag4=0;
//float LDR1Adc,LDR2Adc;
SysInit();
delay_ms(1000);
STEP_flag=0;
delay_ms(180);
while(1)
{
// Usart4_SendStr("OK\r\n");
delay_ms(1000);
//auto_test();
//printf("%d\n",bh_data_read());
// delay_ms(16);
}
}
void auto_test(void) //
{
//unsigned char j;
}
复制代码
所有资料51hei提供下载:
TLV5608模块检测程序验证版.7z
(218.95 KB, 下载次数: 85)
2019-11-10 02:31 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
H823603932
时间:
2020-7-17 10:00
mark
作者:
shark313
时间:
2021-9-14 14:17
TLV5608的程序,用IO模拟SPI,谢谢分享
作者:
alvin690622
时间:
2023-3-21 16:33
剛好需要TLV5610的程序,可以拿來參考,謝謝分享~~~
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1