15年9月份开始接触充电桩项目,经过讨论,选定NXP的lpc1788芯片作为我们的开发芯片,由于之前未接触过该芯片,不可避免的犯了一些低级错误,先记录下来,便于自己以后查询和大家相互讨论。
问题一 定时器2、3怎么一直不工作?
测试的时候用到定时器0、1的时候一点问题都没有,但同样的程序到定时2、3上就不行了,对比发现该改的控制引脚都改了啊,最后无奈翻阅芯片手册,发现
定时器2、3需要使能,而定时器0、1则不需要,一脸黑线,为什么demo里都是定时器0.。。。
问题二 程序怎么总是跑飞
运行自己的程序时,发现一段时间就跑飞了,网上找了好多方法,最终作用都不是很大,这里总结我自己觉得最实用的两种方法,1、对于对实时性要求不高的软件系统来说,在大循环和小循环里加上适当的延时(一般几十毫秒)能解决一部分问题;2、给所有在中断里调用的变量加上一个volatile的类型约束,防止被篡改。
问题三 程序框架怎么搭
这个我真没有什么发言权,本人就是菜鸟一只,在我看来就两种,一种是主函数调用大循环,大循环再嵌套小循环。。。另一种就是时间片法,到指定时间允许指定的函数,看起来也是大循环嵌套小循环。。。
问题四 定时器不够用
程序开发初期就发现4个定时器很快就被用完了,而且很多定时器多少分时重复使用的,后来慢慢研究才发现还有Systick这东西,“滴答时钟”设置未一毫秒,然后在他的中断里开发出无数个定时器,很好用,特别是后面涉及到后台开发后,有很多需要定时发送的一些报文
。
初期遇到的问题还有很多,记得不清,也不一一列举了,后面我将介绍系统软件的开发
qq:529072695