【单片机调试】mcu调试bug记录

【单片机调试】mcu调试bug记录

  • 2023.5-2023.11
    • 待输入
  • 2023.12-2023.2
  • 2024.3-至今
    • 1.spi通信问题

2023.5-2023.11

待输入

2023.12-2023.2

辞职阶段:【STM32调试】寄存器调试不良问题记录持续版

2024.3-至今

1.spi通信问题

现象说明:
mcu与afe芯片为spi通信:①速度很慢。 ②mos控制动作总是第二次成功,偶尔一次就能成功。

调试过程:
spi速率为4kHz(确实很慢),但是第二个现象的问题,怎么也无法定位,芯片的寄存器都和代码仔细对了一遍,逻辑分析仪的spi数据都没有问题。

解决:
①afe数据手册发现,该芯片速率最高支持10Khz,确实很慢。目前代码中使用的是模拟spi,我也改为了硬件spi,依旧很慢。【教训:先看数据手册,看看人家最高能支持到多少,再修改spi驱动】。
②询问厂商,厂商回答该芯片内部是三颗单通道的afe芯片级联而成,级联方式为spi菊花链模式,spi菊花链数据写入,是将数据依次往后面的spi从机中递推(不明白的具体百度下)。而刚好该芯片的mos控制,只能由第一个spi芯片控制,我有对比了spi波形,以及数据手册中人家说明的spi写入时序,最后发现,确实spi写入时序搞反了,没有按照人家手册说明写。

教训:①硬件spi和模拟spi都熟悉了,以及其速率计算方式。②spi菊花链通信方式。③如何使用逻辑分析仪分析spi数据。④详细按照芯片数据手册办事。

spi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/697838.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(车载)毫米波雷达信号处理中的恒虚警检测(CFAR)技术概述

说明 恒虚警检测(Constant False-Alarm Rate, CFAR)是雷达目标(信号)检测中很重要的一个概念,从事雷达相关科研或工程研发的或多或少应该都接触过。CFAR这项技术在工程实践上其实是比较简单的(至少在我了解的车载雷达领域),不过这项技术也有很多可以深挖…

【2024年5月备考新增】】 考前篇(3)《官方平台 - 考生模拟练习平台常用操作(二)》

6 如何绘制前导图 第一步:先划出所有活动,将活动命名 第二步:如需调整大小,选中要调整大小的元件,点击工具栏中的“设置相同大小”。 第三步:如需将元件对齐,选中要对齐的元件,点击工具栏中的对齐工具 第四步:通过连线工具,连接各活动,表示出活动之间的关系。通过选…

面向 C# 开发人员的电子邮件转换控件 - EML 到 PNG

本文将使 C# 开发人员能够以编程方式将EML或MSG转换为其他流行的文件格式。Aspose.Email 提供了类和方法以及在线 电子邮件转换器工具,可将 EML无缝转换为PNG 。如果不安装第三方软件,则无法打开 EML/MSG 文件。因此,将 EML/MSG 转换为 PNG 和…

微软如何打造数字零售力航母系列科普10 - 什么是Azure Databricks?

什么是Azure Databricks? 目录 一、数据智能平台是如何工作的? 二、Azure Databricks的用途是什么? 三、与开源的托管集成 四、工具和程序访问 五、Azure Databricks如何与Azure协同工作? 六、Azure Databricks的常见用例是…

C语言指针详解(三)

目录 前言 一. 回调函数是什么? 1.定义 2. 代码示例:计数器 2.1 使用回调函数改造前 2.2 使用回调函数改造后 二. qsort使用举例 1. qsort介绍 2. 使用qsort函数排序整型数据 3. 使用qsort排序结构体数据 三. qsort函数的模拟实现 四. sizeo…

2024年蓝桥杯——复盘

1、握手问题 知识点:模拟 这道题很简单。但是不知道考试的时候有没有写错。一开始的43个人握手,仅需要两两握手,也就是从42个握手开始,而非43.很可惜。这道题没有拿稳这5分。也很有可能是这5分导致没有进决赛。 总结&#xff1a…

网站服务器备案及域名购买配置教程

一、阿里云服务备案准备工作 1.什么是备案? 备案是指向相关部门提交网站信息,以便监管和管理互联网信息服务,未经备案的网站可能面临罚款甚至被关闭的风险。备案主要看您的网站或App等互联网信息服务解析到的服务器是否在中国内地(大陆),如果服务器在中国内地(大陆),…

vwmare虚拟机迁移磁盘方法

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理 虚拟机迁移磁盘的方法 简单方便快上手 当前目标 当前迁移文件: 当前位置: 目的地: e盘虚拟机文件夹 迁移到当前目录。 实际操作 先打开虚拟机的设置,找到这个虚拟机当前的位置…

【Spring Boot】 深入理解Spring Boot拦截器:自定义设计与实现全攻略

💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:【Spring Boot】 深入理解Spring Boot拦截器:自定义设计与实现全攻略 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 SpringBoot统⼀功能处理一…

【2024年5月备考新增】】 考前篇(4)《官方平台 - 考生模拟练习平台常用操作(三)》

9 如何绘制七格图 第一步:选择图形元件“网络计划”中的七格图元件,在绘图区点击 第二步:批量复制(先选中元件,按Ctrl+C, 再 Ctrl+V) 七格形状,有多少活动复制多少个 选中多个图形后,可点左上角的对齐工具进行对齐; 第三步:逐个标注每个活动的参数,使用箭线连接每个…

Tkinter组件:Text-显示和处理多行文本

Tkinter组件:Text Text(文本)组件用于显示和处理多行文本。在 Tkinter 的所有组件中,Text 组件显得异常强大和灵活,适用于多种任务。虽然该组件的主要目的是显示多行文本,但它常常也被用于作为简单的文本编…

算法课程笔记——自下而上树形DP

算法课程笔记——自下而上树形DP #include<bits/stdc.h>usingnamespacestd; constintN100005; intn,a[N]; longlongdp[N][2]; vector<int> e[N]; voiddfs(intu){for(autov:e[u]){dfs(v);dp[u][1]dp[v][0];dp[u][0]max(dp[v][0],dp[v][1]);}dp[u][1]a[u]; } intmain…