完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近买了一块ADI公司的AD5686R可编程电源芯片的评估板EVAL-AD5686R,上面留下了PMOD接口,现在手头有一块STM32的开发板,虽然stm32f4芯片自带SPI功能,但我是个菜鸟,就用了一个比较笨的办法,直接用GPIO模拟SPI时序,把值写进AD5686R,附件中有时序图。
我自己先尝试了一下,但是不成功,下面是我自己的方法,希望各位能帮我找找错误。 这是我的代码: 首先是端口的初始化,我用的是F端口 void GPIO_initial() { GPIO_InitTypeDef GPIO_InitStructure; //定义结构体变量 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE); //使能端口F时钟 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT; //输出模式 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;//管脚设置 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_25MHz;//速度为25M GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;//推挽输出 GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;//上拉 GPIO_Init(GPIOF,&GPIO_InitStructure); //初始化结构体 GPIO_SetBits(GPIOF,GPIO_Pin_6);reset信号 GPIO_SetBits(GPIOF,GPIO_Pin_7);//SYNC信号 GPIO_SetBits(GPIOF,GPIO_Pin_8);//SCLK信号 GPIO_SetBits(GPIOF,GPIO_Pin_9);//数据输出口 GPIO_SetBits(GPIOF,GPIO_Pin_10);//LDAC } 接下来是把data写入芯片的函数,由于芯片内是24位寄存器,所以就循环了24次 void transfer_data(u32 data) { u32 testbit=0x10000000;//测试位 u8 i; GPIO_ResetBits(GPIOF,GPIO_Pin_7);//SYNC电平拉低,启动传输 delay_t(); for(i=24;i>0;i--)//循环24次,传输24位数据 { if(data & testbit)//与测试位相与,如果为1就传输1,如果为0就传输0 { GPIO_SetBits(GPIOF,GPIO_Pin_9); } else GPIO_ResetBits(GPIOF,GPIO_Pin_9); delay_t(); GPIO_ResetBits(GPIOF,GPIO_Pin_8);//SCLK下降沿 delay_t(); GPIO_SetBits(GPIOF,GPIO_Pin_8);//SCLK拉高 if(i==1) { GPIO_SetBits(GPIOF,GPIO_Pin_7);//拉高SYNC,停止传输数据 } data<<=1; } GPIO_ResetBits(GPIOF,GPIO_Pin_10);//拉低LDAC,更新DAC寄存器的值 delay_t(); GPIO_SetBits(GPIOF,GPIO_Pin_10); } 我的硬件连接是,VDD=5V VIO=3.3V,GAIN引脚连接到GND,RSTSEL引脚连接到VDD,附件里还有AD5686R以及EVAL-AD5686R的datasheet, 小弟在此谢过了 补充内容 (2018-11-23 20:00): 找到错误了,测试位应为0x80000000 |
|
相关推荐
1 条评论
|
|
只有小组成员才能发言,加入小组>>
1001 浏览 2 评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1393 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1941 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4274 浏览 2 评论
9067 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1543浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1700浏览 2评论
1002浏览 2评论
1679浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1393浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 16:16 , Processed in 1.287997 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号