完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include "DAC7512.h"
static void SPI_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; DAC7512_SPI_GPIO_APBxClock_FUN (DAC7512_SPI_GPIO_CLK,ENABLE); GPIO_InitStructure.GPIO_Pin = DAC7512_SPI_CS_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(DAC7512_SPI_CS_PORT,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = DAC7512_SPI_SCK_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(DAC7512_SPI_SCK_PORT,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = DAC7512_SPI_MOSI_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(DAC7512_SPI_MOSI_PORT,&GPIO_InitStructure); DAC7512_SPI_CS_HIGH; } static void SPI_Mode_Config(void) { SPI_InitTypeDef SPI_InitStructure; DAC7512_SPI_APBxClock_FUN(DAC7512_SPI_CLK,ENABLE); SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16; SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge ; SPI_InitStructure.SPI_CPOL = SPI_CPOL_High ; SPI_InitStructure.SPI_CRCPolynomial = 0; SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b; SPI_InitStructure.SPI_Direction = SPI_Direction_1Line_Tx; SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_Init(DAC7512_SPIx,&SPI_InitStructure); SPI_Cmd(DAC7512_SPIx,ENABLE); } void SPI_DAC7512_Init(void) { SPI_GPIO_Config(); SPI_Mode_Config(); } void SPI_DAC7512_Send_Byte(uint16_t data) { while(SPI_I2S_GetFlagStatus(DAC7512_SPIx,SPI_I2S_FLAG_TXE) == RESET); SPI_I2S_SendData(DAC7512_SPIx,data); } void Delay(uint8_t s) { uint8_t i = 0; for(i=0;i __NOP(); } } #include "STM32f10x.h" #include "DAC7512.h" uint16_t data1 = 0x00ff; int main(void) { SPI_DAC7512_Init(); while(1) { DAC7512_SPI_CS_LOW; SPI_DAC7512_Send_Byte(data1); Delay(60); DAC7512_SPI_CS_HIGH; } } 这是程序,时序用示波器测试是正常的,可芯片就是没有输出,求大神指导啊 |
|
相关推荐
5个回答
|
|
时序出来了符合DAC7512的要求么????象样子是DAC7512没回话
|
|
|
|
学习学习
|
|
|
|
12位DAC,STM32自己带的就是,为什么还要外挂?
|
|
|
|
首先要确定硬件正常吗?
|
|
|
|
仔细看下DAC512手册,看看它对时序的要求
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1980 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1836 浏览 3 评论
4416 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1985 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2489 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 16:33 , Processed in 0.756582 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号