|
MSP430单片机定时器与串口模块应用程序调试心得
[复制链接]
初学者对于430可能有很多困,或许也有许多朋友在调试过程中遇到各种各样的问题,我希望跟大家分享我在学习中遇到的问题,希望我们共同努力,也希望大家给我提出更好的学习方法,尽快入门。
下面的一段程序主要是用来实现用定时器定时1s,控制LED的亮暗,同时指示串口向外发送数据。
程序编写时要注意以下几点:
1.根据问题的定义,确定算法,并绘制程序框图。注意必须确保程序框图的正确性。在确保程序框图正确的情况下才能写程序,
2.一定要写注释,这样有助于初学者尽快入门。
3.通过编译后,只表明语法没有错误,并不标明逻辑正确,一定要用不同的数据对模块进行测试。
4。一定注意编译后保存调试通过的程序,以便当程序出现故障时,随时可返回前面的正确点重新开始。
程序调试过程中出现的问题:
1.串口上显示的数据不正确;
2.指示灯不停的闪烁
解决方式:串口上发送的数据不正确,是系统时钟初始化不正确,这里波特率时钟选择的是XT2,也就是外部8Mhz的高速晶振。所以初始化时BCSCTL2 应设置为MCLK的时钟源为TX2CLK,即SELS=1,SMCLK的时钟源为TX2CLK。正确的语句是:
BCSCTL2 |=SELS; 指示灯闪烁是由于,说选择的输出时钟源不正确,计数器初始化不正确。
总结:在写程序的过程中,一定不要简单复制例程,对每一步都要理解,思路在此是最重要的,求得简单的答案对自己的成长其实很不利,初学者应求渔而非鱼。初学者写的代码最大的问题是思维混乱或理解存在偏差,虽然往往伴有很多初级错误,但初级错误不是制约自己成长的主要因素,思维方式才是决定性的,初学者在寻求帮助时如果不是简单贴出源代码而是将自己的代码用语言以流程图的方式给出,这将直接反映出编程者的思维,虽然这样发帖时比较累,但总结流程的过程首先是对代码的一个重理解过程,更是对自己思维的一个总结再现,当然,以源代码加流程注释(但不能是简单的语句功能说明)的方法更好,重要的是流程,流程代表着思想,这是根本,学习提高要解决的是根本而非做习题式作业练习,那是读死书。很多时候,在总结流程的过程中就能发现自己的问题,这不是更好么。
|
|