如果把所有的问题就归总在这门课程是完全错误的。比如:模拟电路、数字电路、外语、计算机应用能力,微机原理等,都是重要的基础课程。
就本LZ的问题,其实根本不是AVR的问题了,因为AVR的ADC转换提供了AD的功能,你能正确设置寄存器,使用AD得到数据,AVR本身的任务已经完成了。
我在N年前就上程序设计的课程,经典的“数组+单重循环”的例子就是在N个数中找最大(最小),“数组+双重循环”的例子是排序算法。作为lz,如果在学校学过程序设计的课程,不管是C,还是其它的程序设计语言,这个应该都学到的。
学生在学校学习这些课程,不应该只是关心考试通过,最重要的是掌握方法、思路和算法,到需要的时候,可以用上。
从这个角度说,LZ在6楼说对了,“这个问题很低级” 回复【10楼】taocongrong 从戎
建议你还是从最基本的开始,比如LED的显示,看看我书中在第6章T/C后是如何写LED显示的。
你说到“分工不是很明确”,你的LED显示就是分工不明确,还使用软件延时,CPU的效率就这样的拖住了。要做到一个复杂系统各个功能之间的协调,其基础就是最基本的模块应该处在最佳工作方式下。
另外,你说不用中断是错误的,不会使用中断,和不能正确使用中断,稍微复杂点的系统都很难应付的。
我的教材所侧重的就是基本功训练。哪怕一个简单的例子,都要分析出时间的分配,这个请看帖子“http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=1503062&bbs_page_no=1&bbs_id=1003” 此贴半年了,可发现你的脚步仍然停留在原地。编程基础如此薄弱是根本掌握不了AVR的。
“我遇到的问题是当我变换外部电压的时候我的if((b_time<100)&&a_time>200)),这句话执行不了 。。。”
if((b_time<100)&&a_time>200))这个条件永远也不会满足执行的 赚个积分
页:
[1]