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