Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SPI
STM32F7 SPI 发送8bit数据时钟个数不正确?
发布于 2018-07-07 16:10:23 浏览:3213
订阅该版
我使用的是正点原子的F767开发板,我在使用SPI接口时测试了一下截图下面的函数,发送数据和时钟都没问题,其中 rt_spi_sendrecv8 也是调用的rt_spi_send_then_recv函数,但并没有出现什么问题,这是为啥?而我调用就有问题 ```rt_inline rt_uint8_t rt_spi_sendrecv8(struct rt_spi_device *device, rt_uint8_t data) { rt_uint8_t value; rt_spi_send_then_recv(device, &data, 1, &value, 1); return value; }``` ![TIM截图20180707155408.jpg](/uploads/201807/07/155440qhhhzfpctp3dzb44.jpg) ![TIM截图20180707155419.jpg](/uploads/201807/07/155440i5dzfbpsfonoskq0.jpg) 但当我直接使用这个函数后,时钟个数就不正确了,本来应该是发送16个时钟,写时钟8个,读时钟8个。 rt_spi_send_then_recv(spi_ad5791_device.rt_spi_device, registerWord, 1, receive_registerWord, 1); 但现在写时钟和读时钟一共发送了34个? ![TIM截图20180707160118.jpg](/uploads/201807/07/160258q9scazydhayc97ws.jpg) ![TIM截图20180707160104.jpg](/uploads/201807/07/160253n5c31qj4cfz4ax5f.jpg) SPI驱动框架使用的是stm32f429 bsp的 参照原子的帖子,出现过这个问题,但这块我改了,改成下面这种对寄存器操作了 ![TIM截图20180707160702.jpg](/uploads/201807/07/160713zpgf5zafdh3imu9m.jpg)
查看更多
2
个回答
默认排序
按发布时间排序
aozima
2018-07-09
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
分析下是否因为的FIFO的原因?造成数量处理出错?
whyil
2018-08-10
这家伙很懒,什么也没写!
[i=s] 本帖最后由 whyil 于 2018-8-10 15:55 编辑 [/i] >分析下是否因为的FIFO的原因?造成数量处理出错? --- 不是FIFO的原因,我DEBUG了一下,发现是SPI 的CR2寄存器数据是乱的 原因是hspi.Init.NSSPMode没有被初始化,里面的数据是乱的,导致DS [3:0]:数据大小 (Data size) = 16位,所以发出了16个脉冲, 在初始化里将这句加上去就好了 ``` if (cfg->mode & RT_SPI_MSB) { hspi.Init.FirstBit = SPI_FIRSTBIT_MSB; } else { hspi.Init.FirstBit = SPI_FIRSTBIT_LSB; } hspi.Init.TIMode = SPI_TIMODE_DISABLE; hspi.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi.Init.CRCPolynomial = 7; //NSSPMode 未初始化,导致SPI_CR2寄存器数据错误 hspi.Init.NSSPMode = SPI_NSS_PULSE_DISABLE; hspi.State = HAL_SPI_STATE_RESET; if (HAL_SPI_Init(&hspi) != HAL_OK) { return RT_EIO; } __HAL_SPI_ENABLE(&hspi); return RT_EOK; ```
撰写答案
登录
注册新账号
关注者
0
被浏览
3.2k
关于作者
whyil
这家伙很懒,什么也没写!
提问
11
回答
5
被采纳
0
关注TA
发私信
相关问题
1
BBB的SPI驱动
2
求个SPI上挂两个或多个设备的使用例子
3
SPI设备有个bug
4
spi flash 的fatfs使用一段时间后读写文件出现故障
5
SPI驱动
6
请教rt_spi_configure函数理解
7
SPI FLASH挂载的问题
8
SPI-FLASH 文件系统 SPIFFS
9
求助一个完整的 spi flash 驱动
10
关于同时使用文件系统与SPI FLASH的问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
在用clangd开发RTT吗,快来试试如何简单获得清晰干净的工作区
2
GD32F450 片内 flash驱动适配
3
STM32H7R7运行CherryUSB
4
RT-Smart首次线下培训,锁定2024 RT-Thread开发者大会!
5
使用RC522软件包驱动FM1722
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
freemodbus
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
10
个答案
1
次被采纳
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
6
次点赞
YZRD
2
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部