完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
SPI设置
void SPI1_Init(void) { SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_128; SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_InitStructure.SPI_CRCPolynomial = 7; SPI_Init(SPI1, &SPI_InitStructure); SPI_Cmd(SPI1, ENABLE); //使能SPI1 } 注意: 1、CPOL 应设置为 0,CPOL表示时钟线 SCK空闲时的电平高低,高1低0,根据CS5532手册可知,SDO读时序和SDI写时序,时钟空闲时为低,单片机要与CS5532通信,当然应该一致。 2、SPI_BaudRatePrescaler 大一点比较好,太小读数会出错。 |
|
1 条评论
|
|
请问你的问题解决了吗?我这边一直是ffffff .另外我认为你那个配置SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge 应该是第一个下降沿吧 |
|
|
|
liverpoolsun 发表于 2015-11-17 17:09 能否QQ讨论 1340504814 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
可以微信聊,cs5532一致没有调通。
|
|
|
|
CS5532 SDO一直为高
CS553x_WriteComm(0x03); // 03 Config REG , CS553x_WriteComm(0x22); CS553x_WriteComm(0x00); CS553x_WriteComm(0x00); CS553x_WriteComm(0x00); delay_ms(2); CS553x_WriteComm(0x0B); // 0b Config REG delay_ms(2); CS553x_ReadRegData(test_ch,4); test_onebyte = test_ch[0]; |
|
1 条评论
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
hal库中i2c卡死在HAL_I2C_Master_Transmit
981 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1464 浏览 1 评论
524 浏览 0 评论
1057 浏览 0 评论
1199 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 03:34 , Processed in 0.675113 second(s), Total 65, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号