配置:内部复位,reset脚5.1k电阻拉高,内部晶振,
WDT,WDS,掉电监测禁止,引导状态位为0,向量地址1fh,
功能正常,可以进行串口收发等等,但程序在不停循环。
如:程序设定初始化后串口发一串数后结束,但运行的时候,程序不停地从头循环,串口不停的发出预先保存在缓冲区的数。
改进:在串口发送的程序段后加了一个 while(1);的死循环,运行时串口只发送了一遍数据,之后可以正常接收(初始化时已经使能串口中断),说明此时程序并未循环,而是停留在while(1);处,之前的程序循环不是芯片异常复位引起的。
那么是为什么呢?
请指点!
另外,用Uvision2单步调试时,除了SPI的中断标志位SPIF外,其余的中断标志位都可以手动置1 以触发中断,为什么?是因为SPIF不可以位寻址吗?那么SPI中断要如何调试?
谢谢
|