STM32 SPI 发送第一个数据不成功问题
STM32的标准库,跟HAL库都是很实用的,
在使用SPI库的过程中一定要注意时序的问题。
我在调试SPI过程中,调试了两个IC,都是用HAL库,
第一个IC没出问题,第二个IC出现了第一次发送数据不成功问题,
不管发什么数据,交互结果都是0x00,
我一开始用的是HAL_SPI_TransmitReceive();
这个函数,一直无法成功,改用标准库结果也是一样;
后来查到可能是收发太快的原因,
这里说的收发太快并不是说两个数据之间,而是一个交互的时候收发太快;
于是我把它改为发送接收之间加个延时问题解决:
HAL_SPI_Transmit(&hspi1,&temp,sizeof(temp),10);
HAL_Delay(1);
HAL_SPI_Receive(&hspi1,&nrsec_sel_re,sizeof(nrsec_sel_re),10);
造成这个原因:是由于SPI刚开始中间间隙很短(几乎没有间隙),连续产生很多个时钟信号,
从机无法判断是8bit还是16bit格式,从机会认为SPI是以16bit数据格式发送,
之后再判断是8bit,出现第一个数据错误为0x00,而后续数据正确。
STM32 SPI 发送第一个数据不成功问题的更多相关文章
- STM32串口发送第一个字符丢失解决之道
stm32用printf函数重定向到串口USART1发现第一个字符没打印出来具体如下: 刚开始修改fputc函数如下: int fputc(int ch,FILE *f){USART_SendData ...
- STM32F0系列芯片SPI发送一字节数据却输出16个CLK时钟的解决办法
问题 上一个项目在用寄存器操作STM32F0芯片的SPI_DR寄存器的时候,发现一个问题: 我给DR寄存器赋值一个uint8_t一字节大小的数据,SPI引脚能正确输出数据和时钟,但前面八位正确的数据输 ...
- stm32串口发送数据复位 第一个数据丢失
http://blog.csdn.net/kevinhg/article/details/40991655 STM32串口发送必须先检测状态,否则第一个字节无法发出,发送完毕,必须检测发送状态是否完成 ...
- 韩顺刚-tcp报文头协议详细分析第一包数据:序号是0,发送数据的长度是0,因为没有收到对端的数据,所以确认号是0, Syn的标志位设置成1,这里没有发送的数据,只发送TCP的20个字节的头部
TCP报文段首部格式 大部分TCP报文头部都是20个字节,有的数据包要加上选项. 上面一行代表4个字节,源端口和目的端口都是2个字节. TCP协议是面向字节流的协议 TCP是一段一段分块的发送数据的 ...
- stm32 SPI介绍和配置
SPI是一种高速的,全双工同步的通信总线,在芯片管脚上占用了四根线,节约了芯片的管脚,同时为PCB的布局节省了空间,提供了方便,因此越来越多的芯片集成了这种通信协议,STM32也就有了SPI接口. 有 ...
- STM32—SPI读写FLASH
目录 FLASH简介 W25Q64 W25Q64简介 FLASH控制指令 FLASH内部存储结构 代码讲解 读取芯片ID 发送写使能信号 等待FLASH不忙 擦除扇区 写入数据 读取数据 注 FLAS ...
- 纠错:基于FPGA串口发送彩色图片数据至VGA显示
今天这篇文章是要修改之前的一个错误,前面我写过一篇基于FPGA的串口发送图片数据至VGA显示的文章,最后是显示成功了,但是显示的效果图,看起来确实灰度图,当时我默认我使用的MATLAB代码将图片数据转 ...
- TCP程序中发送和接收数据
这里我们来探讨一下在网络编程过程中,有关read/write 或者send/recv的使用细节.这里有关常用的阻塞/非阻塞的解释在网上有很多很好的例子,这里就不说了,还有errno ==EAGAIN ...
- 模拟登录,发送amf类型数据
参考 http://blog.csdn.net/amandag/article/details/5666219 以及 稍微修改了一下AMFPost的类 一.登录 登录过程中主要用到标红的3个请 ...
随机推荐
- gpio_request 原形代码
http://blog.csdn.net/maopig/article/details/7428561 其原型为 int gpio_request(unsigned gpio, const char ...
- Trie树检索字符串
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct TrieNode ...
- 【Codeforces 276C】Little Girl and Maximum Sum
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 最后的和. 其实可以看成是 ∑bi*ai 的形式. 这里的bi这个系数表示的是有多少个区间覆盖了ai这个元素. 既然这样的话. 那么 ...
- PHP学习总结(2)——PHP入门篇之PHP代码标识
认识PHP代码标识 想在页面中编写PHP代码非常容易,如下面代码: <?php echo "想学习php吗?来慕课网吧";?> 就像你可以编写JavaScript脚本 ...
- 6.设置ListView的Item的高度无效
问题: 设置ListView的Item的高度无效. 解决方式: 设置ListView的Item的minHeight属性.
- win10怎样开启自带虚拟机
win10和win8一样.都有自带的虚拟机,可是功能没有一安装上就打开,非常多喜欢用自带的东西,那么win10自带的虚拟机怎样开启呢? 首先要找到控制面板,我们右键点击開始button,我们找到&qu ...
- (LeetCode)二叉树中和为某一值的路径
原体例如以下: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that addin ...
- 最大似然估计的缺陷 —— 方差和均值的 bias
0. 均匀分布期望的最大似然估计 首先我们来看,如何通过最大似然估计的形式估计均匀分布的期望.均匀分布的概率密度函数为:f(x|θ)=1θ,0≤x≤θ.不失一般性地,将 x1,x2,-,xn 排序为顺 ...
- 杂项-Java:Spring Cloud
ylbtech-杂项-Java:Spring Cloud Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册. ...
- javascript中的闭包以及闭包应用
闭包简单理解就是能够读取其他函数内部变量的函数,而在javascript中只有内部函数可以读取函数的内部变量,所以我们学习javascript时可以这样理解,函数A中嵌套了一个函数B,然后我们用函数B ...