📄 debug_frmwrk.c
字号:
* @return None
**********************************************************************/
void UARTPutDec(UART_ID_Type UartID, uint8_t decnum)
{
uint8_t c1=decnum%10;
uint8_t c2=(decnum/10)%10;
uint8_t c3=(decnum/100)%10;
UARTPutChar(UartID, '0'+c3);
UARTPutChar(UartID, '0'+c2);
UARTPutChar(UartID, '0'+c1);
}
/*********************************************************************//**
* @brief Puts a decimal number to UART port
* @param[in] UARTx Pointer to UART peripheral
* @param[in] decnum Decimal number (8-bit long)
* @return None
**********************************************************************/
void UARTPutDec16(UART_ID_Type UartID, uint16_t decnum)
{
uint8_t c1=decnum%10;
uint8_t c2=(decnum/10)%10;
uint8_t c3=(decnum/100)%10;
uint8_t c4=(decnum/1000)%10;
uint8_t c5=(decnum/10000)%10;
UARTPutChar(UartID, '0'+c5);
UARTPutChar(UartID, '0'+c4);
UARTPutChar(UartID, '0'+c3);
UARTPutChar(UartID, '0'+c2);
UARTPutChar(UartID, '0'+c1);
}
/*********************************************************************//**
* @brief Puts a decimal number to UART port
* @param[in] UARTx Pointer to UART peripheral
* @param[in] decnum Decimal number (8-bit long)
* @return None
**********************************************************************/
void UARTPutDec32(UART_ID_Type UartID, uint32_t decnum)
{
uint8_t c1=decnum%10;
uint8_t c2=(decnum/10)%10;
uint8_t c3=(decnum/100)%10;
uint8_t c4=(decnum/1000)%10;
uint8_t c5=(decnum/10000)%10;
uint8_t c6=(decnum/100000)%10;
uint8_t c7=(decnum/1000000)%10;
uint8_t c8=(decnum/10000000)%10;
uint8_t c9=(decnum/100000000)%10;
uint8_t c10=(decnum/1000000000)%10;
UARTPutChar(UartID, '0'+c10);
UARTPutChar(UartID, '0'+c9);
UARTPutChar(UartID, '0'+c8);
UARTPutChar(UartID, '0'+c7);
UARTPutChar(UartID, '0'+c6);
UARTPutChar(UartID, '0'+c5);
UARTPutChar(UartID, '0'+c4);
UARTPutChar(UartID, '0'+c3);
UARTPutChar(UartID, '0'+c2);
UARTPutChar(UartID, '0'+c1);
}
/*********************************************************************//**
* @brief Puts a hex number to UART port
* @param[in] UARTx Pointer to UART peripheral
* @param[in] hexnum Hex number (8-bit long)
* @return None
**********************************************************************/
void UARTPutHex_ (UART_ID_Type UartID, uint8_t hexnum)
{
uint8_t nibble, i;
i = 1;
do
{
nibble = (hexnum >> (4*i)) & 0x0F;
UARTPutChar(UartID, (nibble > 9) ? ('A' + nibble - 10) : ('0' + nibble));
}
while (i--);
}
/*********************************************************************//**
* @brief Puts a hex number to UART port
* @param[in] UARTx Pointer to UART peripheral
* @param[in] hexnum Hex number (8-bit long)
* @return None
**********************************************************************/
void UARTPutHex (UART_ID_Type UartID, uint8_t hexnum)
{
uint8_t nibble, i;
UARTPuts(UartID, "0x");
i = 1;
do {
nibble = (hexnum >> (4*i)) & 0x0F;
UARTPutChar(UartID, (nibble > 9) ? ('A' + nibble - 10) : ('0' + nibble));
} while (i--);
}
/*********************************************************************//**
* @brief Puts a hex number to UART port
* @param[in] UARTx Pointer to UART peripheral
* @param[in] hexnum Hex number (16-bit long)
* @return None
**********************************************************************/
void UARTPutHex16_ (UART_ID_Type UartID, uint16_t hexnum)
{
uint8_t nibble, i;
i = 3;
do
{
nibble = (hexnum >> (4*i)) & 0x0F;
UARTPutChar(UartID, (nibble > 9) ? ('A' + nibble - 10) : ('0' + nibble));
}
while (i--);
}
/*********************************************************************//**
* @brief Puts a hex number to UART port
* @param[in] UARTx Pointer to UART peripheral
* @param[in] hexnum Hex number (16-bit long)
* @return None
**********************************************************************/
void UARTPutHex16 (UART_ID_Type UartID, uint16_t hexnum)
{
uint8_t nibble, i;
UARTPuts(UartID, "0x");
i = 3;
do
{
nibble = (hexnum >> (4*i)) & 0x0F;
UARTPutChar(UartID, (nibble > 9) ? ('A' + nibble - 10) : ('0' + nibble));
}
while (i--);
}
/*********************************************************************//**
* @brief Puts a hex number to UART port
* @param[in] UARTx Pointer to UART peripheral
* @param[in] hexnum Hex number (32-bit long)
* @return None
**********************************************************************/
void UARTPutHex32_ (UART_ID_Type UartID, uint32_t hexnum)
{
uint8_t nibble, i;
i = 7;
do
{
nibble = (hexnum >> (4*i)) & 0x0F;
UARTPutChar(UartID, (nibble > 9) ? ('A' + nibble - 10) : ('0' + nibble));
}
while (i--);
}
/*********************************************************************//**
* @brief Puts a hex number to UART port
* @param[in] UARTx Pointer to UART peripheral
* @param[in] hexnum Hex number (32-bit long)
* @return None
**********************************************************************/
void UARTPutHex32 (UART_ID_Type UartID, uint32_t hexnum)
{
uint8_t nibble, i;
UARTPuts(UartID, "0x");
i = 7;
do
{
nibble = (hexnum >> (4*i)) & 0x0F;
UARTPutChar(UartID, (nibble > 9) ? ('A' + nibble - 10) : ('0' + nibble));
}
while (i--);
}
///*********************************************************************//**
// * @brief print function that supports format as same as printf()
// * function of <stdio.h> library
// * @param[in] None
// * @return None
// **********************************************************************/
//void _printf (const char *format, ...)
//{
// static char buffer[512 + 1];
// va_list vArgs;
// char *tmp;
// va_start(vArgs, format);
// vsprintf((char *)buffer, (char const *)format, vArgs);
// va_end(vArgs);
//
// _DBG(buffer);
//}
/*********************************************************************//**
* @brief Initialize Debug frame work through initializing UART port
* @param[in] None
* @return None
**********************************************************************/
void debug_frmwrk_init(void)
{
UART_CFG_Type UARTConfigStruct;
#if (USED_UART_DEBUG_PORT == 0)
/*
* Initialize UART0 pin connect
* P0.2: TXD
* P0.3: RXD
*/
PINSEL_ConfigPin (0, 2, 1);
PINSEL_ConfigPin (0, 3, 1);
#elif (USED_UART_DEBUG_PORT == 1)
/*
* Initialize UART1 pin connect
* P0.15: TXD
* P0.16: RXD
*/
PINSEL_ConfigPin(0, 15, 1);
PINSEL_ConfigPin(0, 16, 1);
#elif (USED_UART_DEBUG_PORT == 2)
/*
* Initialize UART2 pin connect
* P0.10: TXD
* P0.11: RXD
*/
PINSEL_ConfigPin(0, 10, 1);
PINSEL_ConfigPin(0, 11, 1);
#elif (USED_UART_DEBUG_PORT == 3)
/*
* Initialize UART3 pin connect
* P0.2: TXD
* P0.3: RXD
*/
PINSEL_ConfigPin(0, 2, 2);
PINSEL_ConfigPin(0, 3, 2);
#elif (USED_UART_DEBUG_PORT == 4)
/*
* Initialize UART4 pin connect
* P0.22: TXD
* P2.9: RXD
*/
PINSEL_ConfigPin(0, 22, 3);
PINSEL_ConfigPin(2, 9, 3);
#endif
/* Initialize UART Configuration parameter structure to default state:
* Baudrate =115200 bps
* 8 data bit
* 1 Stop bit
* None parity
*/
UART_ConfigStructInit(&UARTConfigStruct);
// Initialize DEBUG_UART_PORT peripheral with given to corresponding parameter
UART_Init(DEBUG_UART_PORT, &UARTConfigStruct);
// Enable UART Transmit
UART_TxCmd(DEBUG_UART_PORT, ENABLE);
_db_msg = UARTPuts;
_db_msg_ = UARTPuts_;
_db_char = UARTPutChar;
_db_hex = UARTPutHex;
_db_hex_16 = UARTPutHex16;
_db_hex_32 = UARTPutHex32;
_db_hex_ = UARTPutHex_;
_db_hex_16_ = UARTPutHex16_;
_db_hex_32_ = UARTPutHex32_;
_db_dec = UARTPutDec;
_db_dec_16 = UARTPutDec16;
_db_dec_32 = UARTPutDec32;
_db_get_char = UARTGetChar;
_db_get_val = UARTGetValue;
_db_get_char_nonblocking = UARTGetCharInNonBlock;
}
#endif /*_DBGFWK*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -