时间:2019-07-16
大小:847.97KB
阅读数:6996
查看他发布的资源
资料介绍
新人必入,也很适合入门依有疑问的小伙伴,作者是NE5532 ,很好的一篇文章,下面是导语,正文看PDF
1.I2C程序怎么调
2.为什么我的程序不对,然后贴一堆代码上来
3.为什么我这样写对,那样写不对
首先建立一个观点:程序是搞电子技术里面最最最最简单的东西,因为他最最最说得清楚,你这样写了,处理器就会这样做,如果没有按照你的想法来做,那一定是你没写对。
话说硬件设计还需要很多数据库似的知识支撑,高频还需要黑色艺术细胞,学写程序除了背点语句,掌握一些基本技巧外加做好规划之外,真的不需要啥东西,会说话就会写程序。
现在言归正传,前面说了,程序就是你想处理器做什么。在你动手之前,应该先找张白纸,写下你想干什么,然后画出流程图(贴代码问程序的请扪心自问,是否画了流程图)。再明确程序的模块划分,每个模块的输入、输出变量和占用资源。
模块划分就是把任务拆分成互不相关的部分,比如软主机I2C程序可以拆分成发生启动位、发送停止位、发生一个字节、接收一个字节、发送应答位、发送非应答位、接收一个字节、读取应答位等。
其次是要想方设法从最基本的地方开始调试,来这里贴代码的都是一贴一大篇,要知道我们都不敢这样写代码,何况是自称新手?程序要写一块调一块,细到什么程度?真是菜鸟,就细到写完发送启动位就送出来拿示波器检查,检查边沿、电平和时间参数是否跟自己设计的值一样。
模块有大有小,取决于站在哪个层次看问题和写程序的熟练程度。如果是从一个使用PCF8563的数字钟系统来说,I2C通讯整个可以看成一个模块。另外如果调试技术够成熟,写完整个从器件选址应答过程再看也不迟,甚至连示波器都不需要。
本专题收录了单片机工程师必备的一些资料:电路分析、C语言、汇编语言、C51、STM32、Linux、电路设计、eda软件等
2023年下载人气最旺的Top100份资料来了,请收藏!
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或
联系我们 删除。