查看: 3855|回复: 22

单片机程序调试黑宝书,写得不错很实用

  [复制链接]
  • TA的每日心情
    无聊
    2018-11-16 10:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2019-12-9 09:43:19 | 显示全部楼层 |阅读模式
    分享到:
    新人必入,也很适合入门依有疑问的小伙伴,作者是NE5532 ,很好的一篇文章,下面是导语,正文看PDF

    1.I2C程序怎么调
    2.为什么我的程序不对,然后贴一堆代码上来
    3.为什么我这样写对,那样写不对

    首先建立一个观点:程序是搞电子技术里面最最最最简单的东西,因为他最最最说得清楚,你这样写了,处理器就会这样做,如果没有按照你的想法来做,那一定是你没写对。

    话说硬件设计还需要很多数据库似的知识支撑,高频还需要黑色艺术细胞,学写程序除了背点语句,掌握一些基本技巧外加做好规划之外,真的不需要啥东西,会说话就会写程序。

    现在言归正传,前面说了,程序就是你想处理器做什么。在你动手之前,应该先找张白纸,写下你想干什么,然后画出流程图(贴代码问程序的请扪心自问,是否画了流程图)。再明确程序的模块划分,每个模块的输入、输出变量和占用资源。

    模块划分就是把任务拆分成互不相关的部分,比如软主机I2C程序可以拆分成发生启动位、发送停止位、发生一个字节、接收一个字节、发送应答位、发送非应答位、接收一个字节、读取应答位等。

    其次是要想方设法从最基本的地方开始调试,来这里贴代码的都是一贴一大篇,要知道我们都不敢这样写代码,何况是自称新手?程序要写一块调一块,细到什么程度?真是菜鸟,就细到写完发送启动位就送出来拿示波器检查,检查边沿、电平和时间参数是否跟自己设计的值一样。

    模块有大有小,取决于站在哪个层次看问题和写程序的熟练程度。如果是从一个使用PCF8563的数字钟系统来说,I2C通讯整个可以看成一个模块。另外如果调试技术够成熟,写完整个从器件选址应答过程再看也不迟,甚至连示波器都不需要。
    游客,如果您要查看本帖隐藏内容请回复


    来源:21ic

    点评

    很好,很实用。  发表于 2020-2-29 09:39
    回复

    使用道具 举报

    该用户从未签到

    发表于 2019-12-10 07:53:26 | 显示全部楼层
    看看,多谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-12-10 16:27:20 | 显示全部楼层
    好东西,新手学习一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    前天 08:07
  • 签到天数: 1053 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2019-12-20 10:14:10 | 显示全部楼层
    学习一下      
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2020-1-15 10:29:41 | 显示全部楼层
    好好 学习一下
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 07:41 , Processed in 0.268868 second(s), 40 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.