在调试基于F103单片机的MCP2515时,怎么调试都不正常,用的还是以前调试过的代码,隔了一段时间后再重新运行就不行了;

于是单步运行调试,没想到,单步运行调试竟然成功了;于是想到是延时的问题,在初始化那里的reset函数里加了个延时,再下载进去板子里果然就正常了。

void mcp2515_reset(void)
{
    static uint8_t status;
    uint8_t cmd = MCP2515_CMD_RESET;
    mcp2515_cs_enable();//置MCP2515的CS为低电平
    status = HAL_SPI_Transmit(&hspi1,&cmd,1,100);//发送写命令//发送寄存器复位命令
    delay_ms(100); //没有这个延时,下载到板子里就不能正行发送数据,单步调试过去这里后就能正常运行,所以断定是没有这个延时的原因。
    mcp2515_cs_disable(); //置MCP2515的CS为高电平
}

看了MCP2515的datasheet后,SPI接口描述如下图,MCP2515第一次发送数据时,需要先拉高CS引脚,再拉低CS引脚进行写入数据;于是按照下面更改mcp2515_reset函数也是可以正常运行的:

void mcp2515_reset(void)
{
    static uint8_t status;
    uint8_t cmd = MCP2515_CMD_RESET;
    mcp2515_cs_enable();//置MCP2515的CS为低电

MCP2515调试笔记----初始化注意事项相关推荐

  1. [C++调试笔记]初始化3种粒子数据initmaxw

    #include <stdio.h> #include "define.h" /* 坐标变换 Michael Komm,Interakce plazmatu se st ...

  2. [C++调试笔记]初始化

    /* 初始化 *///static const int numb_e = 1.0e6; //模拟电子的超粒子数//static const int numb_D = 1.0e6; //模拟D的超粒子数 ...

  3. [2dPIC调试笔记]初始化变量1014(2)

    %**********初始化变量*********% xlen = nx; %XÍø¸ñÊý ylen = ny; %YÍø¸ñÊý nxny = nx*ny; %×ÜÍø¸ñÊý g = 1.0; ...

  4. 调试笔记--jlink 变量转实时波形小技巧

    调试笔记–jlink 变量转实时波形小技巧 上篇讲了jlink RTT组件在RAM中开辟一段内存,将printf字符串存入然后通过jlink调试接口读取RAM,将printf字符串在jlink-RTT ...

  5. 调试笔记--keil 测量周期小技巧

    调试笔记–keil 测量周期小技巧 本文参考安富莱专题教程第7期 http://www.armbbs.cn/forum.php?mod=viewthread&tid=87176&ext ...

  6. 调试笔记--keil 断点调试小技巧

    调试笔记–keil 断点调试小技巧 给变量打断点 调试不熟悉的项目时,卧槽!怎么这么多全局变量?这玩意又在那修改了??这个时候会给变量打断点就能省好多事. 将要监视的全局变量添加到watch窗口 选中 ...

  7. Quartus 调试笔记

    Quartus 调试笔记 @(verilog) 最近忙于芯片跟测试FPGA联调,解锁了不少quartus的用法,在此记录一下备忘. 文章目录 Quartus 调试笔记 一. modelsim 联仿 1 ...

  8. OMAPL138调试笔记

    title: Linux 嵌入式使用 tags: 新建,模板,小书匠 grammar_cjkRuby: true Copyright (C) @2018 Widic Filename:File-fun ...

  9. 调试笔记 — Redis 消息队列发布信息被消费者重复订阅多次牵扯到的 Tomcat 配置问题 [#00001]

    最近在项目中发现了一个奇葩的 BUG ,当用户调用后台时,后台向消息队列中发布一条消息,这条消息会被监听器(消费者)监听到,有趣的事情就在这里,此时由于只发送了一条消息,照理说监听器应该只会触发一次, ...

最新文章

  1. LRU(Least Recently Used)算法的理解
  2. 通过XML设置屏幕方向(android:screenOrientation)详解
  3. 看来美国的霸道不仅仅是针对Lenovo的,SONY也被威胁--索尼被判侵犯专利,PlayStation游戏机销售面临威胁【ZZ】...
  4. [MEGA DEAL] 2020年完整的Java Master Class Bundle(96%)
  5. 网站服务器令牌获取,adobe - 获取Adobe Sign访问令牌以进行服务器到服务器身份验证 - 堆栈内存溢出...
  6. 大整数乘法c语言数组,很大的数相乘怎么办?
  7. 前端开发的难点到底在什么地方?
  8. Eos的Wasm智能合约的局限性
  9. 东北大学计算机专业课程
  10. 代码庆端午--粽你心意
  11. 2022程序员都推荐的算法编程课程终于来了!新手从入门到面试考点全覆盖,学到就是赚到!...
  12. java操作word(一)
  13. python拼音怎么写-[编程心得]用Python给汉字加上带音调的拼音
  14. 软件工程第五章——总体设计
  15. 用python进行简单的excel表格分析
  16. 爱江山更爱美人自动刷小号请安膜拜
  17. 图片识别软件有哪些?盘点三款好用的识别工具
  18. 仁者乐山,智者乐水,吃货乐在北海道~
  19. Watson出现误诊遭质疑,智能医疗到底靠不靠谱
  20. 2022年11月21 B站视频缓存二进制解析

热门文章

  1. Cesium将笛卡尔坐标转经纬度坐标
  2. 设计比赛-我图杯原创设计比赛_我图网www.ooopic.com_第一期:中国风原创设计比赛
  3. 唯鲲论坛-外汇桥接技术为何存在?它能带给经纪商什么?
  4. 解析Linux中的VFS文件系统机制
  5. 由华为裁员传闻引发的思考:年轻人如何避免中年危机?
  6. 【节点电压法】一道例题示例
  7. 使用Fireworks 8制作网页效果图2-生成网页
  8. 【软件测试】软件质量标准与测试依据和规范
  9. wordpress 占用内容过高的解决方案
  10. 三国杀服务器维护时间,三国杀十周年维护公告