调用了这个函数之后整个系统复位之后就起不来了

[复制链接]
2825|25
 楼主| dengdc 发表于 2014-7-10 20:43 | 显示全部楼层
软件复位的问题
中间设置了N个状态指示灯,发现不是我的boot的问题,而是在

    //
     // Configure the UART1 for 9600, 8-N-1 operation.
     //
     UARTConfigSetExpClk(UART1_BASE, SysCtlClockGet(), 9600,
                         (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
                          UART_CONFIG_PAR_NONE));
这个函数中出不来了,一步一步试吧,第一步他调用UARTDisable(ulBase);这个东西,关闭串口时,该函数有while循环,怀疑程序在这里面出不来了。
然后我单独把这个函数拿出来,先运行他
 楼主| dengdc 发表于 2014-7-10 20:43 | 显示全部楼层
结果奇迹发生了,此时软件重启后程序可以正常运行了
pinda_ 发表于 2014-7-10 22:27 | 显示全部楼层
:lol有时候,我喜欢用函数入口地址来复位,直接地址跳转,很方便。。。
江枫渔火 发表于 2014-7-10 22:38 | 显示全部楼层
你的复位流程要全面,有可能你某些东西没有复位,出现状态异常,进入不可预测状态。
shenmu2012 发表于 2014-7-14 23:18 | 显示全部楼层
这还函数运行到这个函数里面的就死循环里面了,查下硬件的吧。
shenmu2012 发表于 2014-7-14 23:19 | 显示全部楼层
就是说这个函数里面的某个条件是需要硬件支持的才可以的,但是外部硬件的却不支持的,这就不能这样随意调用了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部