| 
 
| 刚刚接触LM3S8962<br />想编个串口程序,方便以后调试程序,于是把以前的一小段拷贝过来<br />如下:<br />void UARTSendString(unsigned long ulBase, char* pt)<br />{<br />    while(*pt)<br />        UARTCharPut(ulBase, *pt++);<br />}<br /><br />/*此函数无法使用,调用vsprintf、sprintf将引起硬件错误<br />void UARTPrintf (unsigned long ulBase, char* fmt, ...)<br />{<br />    va_list ap;<br />    char string[256];<br />    va_start(ap, fmt);<br />    vsprintf(string, fmt, ap);<br />    UARTSendString(ulBase, string);<br />    va_end(ap);<br />}*/<br /><br />结果就是不能使用,使用就引起硬件错误,进入FaultISR中断,<br />在流明那瑞网站的BBS上也有这个问题,都是说多次调用vsprintf就出错,<br />在KEIL和IAR编译下都这样,请问有知道是怎么回事么?<br />我很喜欢用在字符串中“%d”之类的东西,很方便,现在咋整呢??? | 
 |