电子工程师技术服务社区
- 社区首页
- 下载
- OLED and Time 最终版本.zip
资料描述
唉,最近忙成狗了,实在是事情太多,今天抽出一点时间来发一个帖子。嘿嘿
3月1日
搞了一天的oled显示,从不停地找代码到找到代码后的代码更改,iar下载方式的学习,基本上算是好了一天,当然还有那个展板的制作用了一个下午。能正常显示ascii码,这是原先代码里就实现的,现在想实现对中文字符的显示,根据对源代码的理解,进行了更改,但是始终没有显示,或者显示的是乱码。后来进行了很多盲目的更改,都没效果。后来不知怎么回事,想到了那个while循环的判据可能是导致程序不能执行的原因,因此,将while注释掉,果断可以执行了。后来仔细研究了,发现那个判据是判断所要显示的传入数组是否为空,如果不为空继续执行的程序:while(*str != \) 因为可以直接传入一个数组进行显示。
首先,要读懂代码,在去修改。
3月6日
这两天一直在调dht11,因此,在调试的过程中也学会了利用iar进行但不调试工作。不用学,用多了,都试过了,便记住了,也会用了。
昨天一直调不通的原因,就是因为发出启动信号后,dht11总线一直未响应。单步调试总是进入一个死循环。纠结了一晚上。后来晚上突然想起来,有可能是系统时钟设置问题。但是,却一直找不到oled的显示是在哪里设置了系统时钟,后来,在看了书后感觉,有可能oled并不需要设置系统时钟,也就是说,原本系统时钟没有设置过。今天下午来了以后直接进行了时钟设置。果断一次调试成功,但是还有个问题,就是数据只执行一次,应该是判断数据是否有效的那里while循环判据问题,修改好了,果断可以显示了,而且工作很正常。下一步,写时钟,或者说是万年历,这个应该不难吧。
3月12日
今天晚上,花了几个小时的时间,将msp430里面剩下的这个中断使能写好,刚一开始,遇到的问题就是,将书上 _enable_interrupts(); _bis_sr_register(lpm3_bits);两句加上去后,前一句说找不到定义,显然是包含的头文件里并没有这个函数对应的寄存器操作,后一句经过查看头文件得知应该最前面有两个下划线__bis_sr_register(lpm3_bits);
遇到的另一个warning:详见另外一个word文档
5月7日
过了这么久了