完善资料让更多小伙伴认识你,还能领取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里头的时序图吗? 目前参考电压都没出来,我现在准备试试外部参考电压看看。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
697 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
607 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1069 浏览 1 评论
765 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
532 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
175浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
137浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
132浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
126浏览 12评论
GD32F303RCT6配置PA4 ADC引脚,将PA2代替key功能,PA2连接时无法实现预期功能,为什么?
75浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 15:33 , Processed in 0.775622 second(s), Total 63, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号