完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
部分程序如下:
/*******************************/ // 主函数 /*******************************/ int main(void) [ STM32_Clock_Init(9); //系统时钟设置 delay_init(72); //延时初始化 TLV5639_Init(); //初始化TLV5639 TLV5639_WR(COMM,INTER_REF1_024_FASTMODE); //配置TLV5639工作模式:内部2.048V参考电压,快速模式 TLV5639_WR(DATA,1024); //DAC输出电压(Vout=Vref*CODE/4.096); CODE=0~4095 while(1); ] ---------------------------------------------------- /*******************************/ // TLV5639初始化 /*******************************/ void TLV5639_Init(void) [ RCC->APB2ENR|=1<<2; //使能PORTA时钟 GPIOA->CRH&=0XFFFF0000; //PA8~PA11推挽输出,最大速度10MHz GPIOA->CRH|=0X00001111; //PA8~PA11推挽输出,最大速度10MHz GPIOA->CRL&=0X00000000; //PA0~PA7 推挽输出,最大速度10MHz GPIOA->CRL|=0X11111111; //PA0~PA7 推挽输出,最大速度10MHz RCC->APB2ENR|=1<<3; //使能PORTB时钟 GPIOB->CRH&=0X0000FFFF; //PB12~PB15推挽输出,最大速度10MHz GPIOB->CRH|=0X11110000; //PB12~PB15推挽输出,最大速度10MHz CS=1; WE=1; LOAC=1; delay_ms(1); ] /*******************************/ // TLV5639写数据函数 /*******************************/ void TLV5639_WR(u8 Type,u16 Dat) [ CS=0; delay_us(100); REG=Type; //REG = 0 → DAC holding latch REG = 1 → control register DATA=Dat; //DB0~DB12 WE=0; delay_us(100); WE=1; delay_us(100); LOAC=0; //LOAC active low ,used to load DAC output delay_us(100); CS=1; LOAC=1; ] ------------------------------------------- #ifndef __TLV5639_H #define __TLV5639_H #include "sys.h" #define CS PBout(12) #define WE PBout(13) #define LOAC PBout(14) #define REG PBout(15) #define DATA GPIOA->ODR #define COMM 1 #define DAT 0 //COMM模式的配置 #define INTER_REF2_048_FASTMODE 0X0009 //内部2.048v参考,快速模式 #define INTER_REF1_024_FASTMODE 0X0011 //内部1.024v参考,快速模式 #define INTER_REF2_048_SLOWMODE 0X0008 //内部2.048v参考,慢速模式 #define INTER_REF1_024_SLOWMODE 0X0010 //内部1.024v参考,慢速模式 #define EXTER_REF_FASTMODE 0X0001 //外部参考,快速模式,如果REF引脚接了外部参考电压,则外部参考模式必须被选择 #define EXTER_REF_SLOWMODE 0X0000 //外部参考,慢速模式,如果REF引脚接了外部参考电压,则外部参考模式必须被选择 #define POWER_DOWN 0X0002 //power down void TLV5639_Init(void); void TLV5639_WR(u8 Type,u16 Dat); #endif 我看了芯片手册说输入电压最大 VDD-1.5V。但是我使用的是5v输入,不知道这块有没有问题。但是我调试TLV5618时,也是使用了5V输入,但是TLV5618工作正常,可能IO口电压太高对芯片有点损伤,但至少说明它还是能工作的吧。就是不知道TLV5639是不是在硬件上还有什么要求? 期待回复讨论,谢谢。 |
|
相关推荐
4 个讨论
|
|
缘来伴一生 发表于 2019-2-28 19:00 我后来看了datsheet,确实是reference才有VDD-1.5V限制。我用的是内部参考,本来就没有焊接R5和LM4040。不过还是不对,REF引脚测不到参考电压,接了103电容以后也没有(接地电容103应该没问题吧?)。至于你说的配置波形,没太理解?是指datasheet里头的时序图吗? 目前参考电压都没出来,我现在准备试试外部参考电压看看。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
482 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
348 浏览 1 评论
927 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
2096 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3842 浏览 4 评论
CC3100BOOST使用CC3200lunchXL进行烧录
878浏览 2评论
117浏览 2评论
150浏览 2评论
125浏览 2评论
153浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-12 15:19 , Processed in 0.770566 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191