完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
MCU是STM32F407,使用SPI与7606通信。
SPI初始化: SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_RxOnly; //1线接收模式 SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //作为主机使用 SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b; //数据长度16 SPI_Init结构.SPI_CPOL = SPI_CPOL_高; SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //软件设置NSS功能 SPI_ InitStructure.SPI_BaudRate 预证器 = SPI_BaudRate 预证器 256; SPI_ InitStructure.SPI_ FirstBit = SPI_ FirstBit_ MSB; SPI_ InitStructure.SPI_ FirstBit = SPI_ FirstBit_ MSB; SPI_ InitStructure. SPI_ FirstBit = SPI_ FirstBit = SPI_ FirstBit_ MSB; SPI_ Iirst Bit_MSB; SPI_ Intistructure. SPI_ Inststructure.SPI_ FirBit = SPI_ Iirt_ MSBB; SPI_ MSB; SPI_ II_ Instrustru. SPI_Init Structure.SPI_CRC Polynomial = 7; SPI_Init(SPI3, SPI_InitStructure); 接收数据: ad7606_cs_port( port_ low) ; SPI_Cmd(SPI_PORT,ENABLE); //使能SPI3 调 (RESET = SPI_I2S_getFlag Status (SPI_port,SPI_I2S_FLAG_TXE)); spi_ i2s_ senddata( spi_ port, tempu16data) 的 spi_ i2s_ senddata( spi_ port, tempu16data) ; 调 (RESET = SPI_I2S_getFlag Status (SPI_port,SPI_I2S_FLAG_RXNE)) { 计数; if(Count>1000) { { { 返回 0xB9; 时 时 } TempU16Data = SPI_I2S_接收数据(SPI_port); *RxData=TempU16Data; SPI_Cmd(SPI_PORT,DISABLE); //使能SPI3 ad7606_cs_port(港高); 问题是: SPI波特率低的情况下采样值正确,波特率高,采样值就不准了。 1) ad_启动 2busy 3cs 4) sckk 5) miso 其中一路采样值增加,会影响其他采样值。请专家给予解决方案或者威廉希尔官方网站 支持。谢谢。 疑问:1、AD7606-4串行通信最快速率是多少?我测试怎么才能达到600k呢? 2、AD7606-4引脚30接上拉电阻对串行通信有什么影响? 3、MCU的SPI在初始化的时候就使能,再转换数据,检测busy变化后取数据,为什么MCU的RXNE在片选拉低瞬间就会置位呢? |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 13:53 , Processed in 0.687041 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号