2530的仿真器运行过程中不能打断点,所以很多时候,串口打印log就很重要了,花了点时间,做了一个debug的打印代码,加上可变参数,不过因为只是用来打印log的,没有用来接收,所以只有发送,用的是寄存器直接发送,比较可靠,坏处是,如果打印太多,比较占cpu。
代码亲测可用。
需要用哪个串口,哪个引脚,直接加入宏就好,打印log推荐使用SendDebugString()函数,用法类似printf,可变参数打印,比较方便。波特率选择的是115200
#include "iocc2530.h"
#include "hal_types.h"
#include "string.h"
#include "uart_debug.h"
#include <stdarg.h>
#include "stdio.h"
#include "cfg.h"/*choose which IO to use*/
void UART_Debug_Init(void)
{
#ifdef UARTDEBUG
#ifdef UART0_ALT0_DEBUG/* Uart0 Alt0 TX:P0.3 RX:P0.2 */ PERCFG &= 0xFE ;P0SEL |= 0x0C;U0CSR = 0x80;U0GCR = 11;U0BAUD = 216;U0CSR |= 0x40;
#elif (defined UART0_ALT1_DEBUG)/* Uart0 Alt1