Example of UART-DMA transfers taken form the npx cmsis driver libary

Dependencies:   mbed

Committer:
dpslwk
Date:
Thu Sep 30 20:13:24 2010 +0000
Revision:
0:7480abd3b63b

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dpslwk 0:7480abd3b63b 1 /***********************************************************************//**
dpslwk 0:7480abd3b63b 2 * @file debug_frmwrk.c
dpslwk 0:7480abd3b63b 3 * @brief Contains some utilities that used for debugging through UART
dpslwk 0:7480abd3b63b 4 * @version 2.0
dpslwk 0:7480abd3b63b 5 * @date 21. May. 2010
dpslwk 0:7480abd3b63b 6 * @author NXP MCU SW Application Team
dpslwk 0:7480abd3b63b 7 *----------------------------------------------------------------------------
dpslwk 0:7480abd3b63b 8 * Software that is described herein is for illustrative purposes only
dpslwk 0:7480abd3b63b 9 * which provides customers with programming information regarding the
dpslwk 0:7480abd3b63b 10 * products. This software is supplied "AS IS" without any warranties.
dpslwk 0:7480abd3b63b 11 * NXP Semiconductors assumes no responsibility or liability for the
dpslwk 0:7480abd3b63b 12 * use of the software, conveys no license or title under any patent,
dpslwk 0:7480abd3b63b 13 * copyright, or mask work right to the product. NXP Semiconductors
dpslwk 0:7480abd3b63b 14 * reserves the right to make changes in the software without
dpslwk 0:7480abd3b63b 15 * notification. NXP Semiconductors also make no representation or
dpslwk 0:7480abd3b63b 16 * warranty that such application will be suitable for the specified
dpslwk 0:7480abd3b63b 17 * use without further testing or modification.
dpslwk 0:7480abd3b63b 18 **********************************************************************/
dpslwk 0:7480abd3b63b 19
dpslwk 0:7480abd3b63b 20 #include "debug_frmwrk.h"
dpslwk 0:7480abd3b63b 21 #include "lpc17xx_pinsel.h"
dpslwk 0:7480abd3b63b 22
dpslwk 0:7480abd3b63b 23 /* If this source file built with example, the LPC17xx FW library configuration
dpslwk 0:7480abd3b63b 24 * file in each example directory ("lpc17xx_libcfg.h") must be included,
dpslwk 0:7480abd3b63b 25 * otherwise the default FW library configuration file must be included instead
dpslwk 0:7480abd3b63b 26 */
dpslwk 0:7480abd3b63b 27 #ifdef __BUILD_WITH_EXAMPLE__
dpslwk 0:7480abd3b63b 28 #include "lpc17xx_libcfg.h"
dpslwk 0:7480abd3b63b 29 #else
dpslwk 0:7480abd3b63b 30 #include "lpc17xx_libcfg_default.h"
dpslwk 0:7480abd3b63b 31 #endif /* __BUILD_WITH_EXAMPLE__ */
dpslwk 0:7480abd3b63b 32
dpslwk 0:7480abd3b63b 33 #ifdef _DBGFWK
dpslwk 0:7480abd3b63b 34 /* Debug framework */
dpslwk 0:7480abd3b63b 35
dpslwk 0:7480abd3b63b 36 void (*_db_msg)(LPC_UART_TypeDef *UARTx, const void *s);
dpslwk 0:7480abd3b63b 37 void (*_db_msg_)(LPC_UART_TypeDef *UARTx, const void *s);
dpslwk 0:7480abd3b63b 38 void (*_db_char)(LPC_UART_TypeDef *UARTx, uint8_t ch);
dpslwk 0:7480abd3b63b 39 void (*_db_dec)(LPC_UART_TypeDef *UARTx, uint8_t decn);
dpslwk 0:7480abd3b63b 40 void (*_db_dec_16)(LPC_UART_TypeDef *UARTx, uint16_t decn);
dpslwk 0:7480abd3b63b 41 void (*_db_dec_32)(LPC_UART_TypeDef *UARTx, uint32_t decn);
dpslwk 0:7480abd3b63b 42 void (*_db_hex)(LPC_UART_TypeDef *UARTx, uint8_t hexn);
dpslwk 0:7480abd3b63b 43 void (*_db_hex_16)(LPC_UART_TypeDef *UARTx, uint16_t hexn);
dpslwk 0:7480abd3b63b 44 void (*_db_hex_32)(LPC_UART_TypeDef *UARTx, uint32_t hexn);
dpslwk 0:7480abd3b63b 45 uint8_t (*_db_get_char)(LPC_UART_TypeDef *UARTx);
dpslwk 0:7480abd3b63b 46
dpslwk 0:7480abd3b63b 47
dpslwk 0:7480abd3b63b 48 /*********************************************************************//**
dpslwk 0:7480abd3b63b 49 * @brief Puts a character to UART port
dpslwk 0:7480abd3b63b 50 * @param[in] UARTx Pointer to UART peripheral
dpslwk 0:7480abd3b63b 51 * @param[in] ch Character to put
dpslwk 0:7480abd3b63b 52 * @return None
dpslwk 0:7480abd3b63b 53 **********************************************************************/
dpslwk 0:7480abd3b63b 54 void UARTPutChar (LPC_UART_TypeDef *UARTx, uint8_t ch)
dpslwk 0:7480abd3b63b 55 {
dpslwk 0:7480abd3b63b 56 UART_Send(UARTx, &ch, 1, BLOCKING);
dpslwk 0:7480abd3b63b 57 }
dpslwk 0:7480abd3b63b 58
dpslwk 0:7480abd3b63b 59
dpslwk 0:7480abd3b63b 60 /*********************************************************************//**
dpslwk 0:7480abd3b63b 61 * @brief Get a character to UART port
dpslwk 0:7480abd3b63b 62 * @param[in] UARTx Pointer to UART peripheral
dpslwk 0:7480abd3b63b 63 * @return character value that returned
dpslwk 0:7480abd3b63b 64 **********************************************************************/
dpslwk 0:7480abd3b63b 65 uint8_t UARTGetChar (LPC_UART_TypeDef *UARTx)
dpslwk 0:7480abd3b63b 66 {
dpslwk 0:7480abd3b63b 67 uint8_t tmp = 0;
dpslwk 0:7480abd3b63b 68 UART_Receive(UARTx, &tmp, 1, BLOCKING);
dpslwk 0:7480abd3b63b 69 return(tmp);
dpslwk 0:7480abd3b63b 70 }
dpslwk 0:7480abd3b63b 71
dpslwk 0:7480abd3b63b 72
dpslwk 0:7480abd3b63b 73 /*********************************************************************//**
dpslwk 0:7480abd3b63b 74 * @brief Puts a string to UART port
dpslwk 0:7480abd3b63b 75 * @param[in] UARTx Pointer to UART peripheral
dpslwk 0:7480abd3b63b 76 * @param[in] str string to put
dpslwk 0:7480abd3b63b 77 * @return None
dpslwk 0:7480abd3b63b 78 **********************************************************************/
dpslwk 0:7480abd3b63b 79 void UARTPuts(LPC_UART_TypeDef *UARTx, const void *str)
dpslwk 0:7480abd3b63b 80 {
dpslwk 0:7480abd3b63b 81 uint8_t *s = (uint8_t *) str;
dpslwk 0:7480abd3b63b 82
dpslwk 0:7480abd3b63b 83 while (*s)
dpslwk 0:7480abd3b63b 84 {
dpslwk 0:7480abd3b63b 85 UARTPutChar(UARTx, *s++);
dpslwk 0:7480abd3b63b 86 }
dpslwk 0:7480abd3b63b 87 }
dpslwk 0:7480abd3b63b 88
dpslwk 0:7480abd3b63b 89
dpslwk 0:7480abd3b63b 90 /*********************************************************************//**
dpslwk 0:7480abd3b63b 91 * @brief Puts a string to UART port and print new line
dpslwk 0:7480abd3b63b 92 * @param[in] UARTx Pointer to UART peripheral
dpslwk 0:7480abd3b63b 93 * @param[in] str String to put
dpslwk 0:7480abd3b63b 94 * @return None
dpslwk 0:7480abd3b63b 95 **********************************************************************/
dpslwk 0:7480abd3b63b 96 void UARTPuts_(LPC_UART_TypeDef *UARTx, const void *str)
dpslwk 0:7480abd3b63b 97 {
dpslwk 0:7480abd3b63b 98 UARTPuts (UARTx, str);
dpslwk 0:7480abd3b63b 99 UARTPuts (UARTx, "\n\r");
dpslwk 0:7480abd3b63b 100 }
dpslwk 0:7480abd3b63b 101
dpslwk 0:7480abd3b63b 102
dpslwk 0:7480abd3b63b 103 /*********************************************************************//**
dpslwk 0:7480abd3b63b 104 * @brief Puts a decimal number to UART port
dpslwk 0:7480abd3b63b 105 * @param[in] UARTx Pointer to UART peripheral
dpslwk 0:7480abd3b63b 106 * @param[in] decnum Decimal number (8-bit long)
dpslwk 0:7480abd3b63b 107 * @return None
dpslwk 0:7480abd3b63b 108 **********************************************************************/
dpslwk 0:7480abd3b63b 109 void UARTPutDec(LPC_UART_TypeDef *UARTx, uint8_t decnum)
dpslwk 0:7480abd3b63b 110 {
dpslwk 0:7480abd3b63b 111 uint8_t c1=decnum%10;
dpslwk 0:7480abd3b63b 112 uint8_t c2=(decnum/10)%10;
dpslwk 0:7480abd3b63b 113 uint8_t c3=(decnum/100)%10;
dpslwk 0:7480abd3b63b 114 UARTPutChar(UARTx, '0'+c3);
dpslwk 0:7480abd3b63b 115 UARTPutChar(UARTx, '0'+c2);
dpslwk 0:7480abd3b63b 116 UARTPutChar(UARTx, '0'+c1);
dpslwk 0:7480abd3b63b 117 }
dpslwk 0:7480abd3b63b 118
dpslwk 0:7480abd3b63b 119 /*********************************************************************//**
dpslwk 0:7480abd3b63b 120 * @brief Puts a decimal number to UART port
dpslwk 0:7480abd3b63b 121 * @param[in] UARTx Pointer to UART peripheral
dpslwk 0:7480abd3b63b 122 * @param[in] decnum Decimal number (8-bit long)
dpslwk 0:7480abd3b63b 123 * @return None
dpslwk 0:7480abd3b63b 124 **********************************************************************/
dpslwk 0:7480abd3b63b 125 void UARTPutDec16(LPC_UART_TypeDef *UARTx, uint16_t decnum)
dpslwk 0:7480abd3b63b 126 {
dpslwk 0:7480abd3b63b 127 uint8_t c1=decnum%10;
dpslwk 0:7480abd3b63b 128 uint8_t c2=(decnum/10)%10;
dpslwk 0:7480abd3b63b 129 uint8_t c3=(decnum/100)%10;
dpslwk 0:7480abd3b63b 130 uint8_t c4=(decnum/1000)%10;
dpslwk 0:7480abd3b63b 131 uint8_t c5=(decnum/10000)%10;
dpslwk 0:7480abd3b63b 132 UARTPutChar(UARTx, '0'+c5);
dpslwk 0:7480abd3b63b 133 UARTPutChar(UARTx, '0'+c4);
dpslwk 0:7480abd3b63b 134 UARTPutChar(UARTx, '0'+c3);
dpslwk 0:7480abd3b63b 135 UARTPutChar(UARTx, '0'+c2);
dpslwk 0:7480abd3b63b 136 UARTPutChar(UARTx, '0'+c1);
dpslwk 0:7480abd3b63b 137 }
dpslwk 0:7480abd3b63b 138
dpslwk 0:7480abd3b63b 139 /*********************************************************************//**
dpslwk 0:7480abd3b63b 140 * @brief Puts a decimal number to UART port
dpslwk 0:7480abd3b63b 141 * @param[in] UARTx Pointer to UART peripheral
dpslwk 0:7480abd3b63b 142 * @param[in] decnum Decimal number (8-bit long)
dpslwk 0:7480abd3b63b 143 * @return None
dpslwk 0:7480abd3b63b 144 **********************************************************************/
dpslwk 0:7480abd3b63b 145 void UARTPutDec32(LPC_UART_TypeDef *UARTx, uint32_t decnum)
dpslwk 0:7480abd3b63b 146 {
dpslwk 0:7480abd3b63b 147 uint8_t c1=decnum%10;
dpslwk 0:7480abd3b63b 148 uint8_t c2=(decnum/10)%10;
dpslwk 0:7480abd3b63b 149 uint8_t c3=(decnum/100)%10;
dpslwk 0:7480abd3b63b 150 uint8_t c4=(decnum/1000)%10;
dpslwk 0:7480abd3b63b 151 uint8_t c5=(decnum/10000)%10;
dpslwk 0:7480abd3b63b 152 uint8_t c6=(decnum/100000)%10;
dpslwk 0:7480abd3b63b 153 uint8_t c7=(decnum/1000000)%10;
dpslwk 0:7480abd3b63b 154 uint8_t c8=(decnum/10000000)%10;
dpslwk 0:7480abd3b63b 155 uint8_t c9=(decnum/100000000)%10;
dpslwk 0:7480abd3b63b 156 uint8_t c10=(decnum/100000000)%10;
dpslwk 0:7480abd3b63b 157 UARTPutChar(UARTx, '0'+c10);
dpslwk 0:7480abd3b63b 158 UARTPutChar(UARTx, '0'+c9);
dpslwk 0:7480abd3b63b 159 UARTPutChar(UARTx, '0'+c8);
dpslwk 0:7480abd3b63b 160 UARTPutChar(UARTx, '0'+c7);
dpslwk 0:7480abd3b63b 161 UARTPutChar(UARTx, '0'+c6);
dpslwk 0:7480abd3b63b 162 UARTPutChar(UARTx, '0'+c5);
dpslwk 0:7480abd3b63b 163 UARTPutChar(UARTx, '0'+c4);
dpslwk 0:7480abd3b63b 164 UARTPutChar(UARTx, '0'+c3);
dpslwk 0:7480abd3b63b 165 UARTPutChar(UARTx, '0'+c2);
dpslwk 0:7480abd3b63b 166 UARTPutChar(UARTx, '0'+c1);
dpslwk 0:7480abd3b63b 167 }
dpslwk 0:7480abd3b63b 168
dpslwk 0:7480abd3b63b 169 /*********************************************************************//**
dpslwk 0:7480abd3b63b 170 * @brief Puts a hex number to UART port
dpslwk 0:7480abd3b63b 171 * @param[in] UARTx Pointer to UART peripheral
dpslwk 0:7480abd3b63b 172 * @param[in] hexnum Hex number (8-bit long)
dpslwk 0:7480abd3b63b 173 * @return None
dpslwk 0:7480abd3b63b 174 **********************************************************************/
dpslwk 0:7480abd3b63b 175 void UARTPutHex (LPC_UART_TypeDef *UARTx, uint8_t hexnum)
dpslwk 0:7480abd3b63b 176 {
dpslwk 0:7480abd3b63b 177 uint8_t nibble, i;
dpslwk 0:7480abd3b63b 178
dpslwk 0:7480abd3b63b 179 UARTPuts(UARTx, "0x");
dpslwk 0:7480abd3b63b 180 i = 1;
dpslwk 0:7480abd3b63b 181 do {
dpslwk 0:7480abd3b63b 182 nibble = (hexnum >> (4*i)) & 0x0F;
dpslwk 0:7480abd3b63b 183 UARTPutChar(UARTx, (nibble > 9) ? ('A' + nibble - 10) : ('0' + nibble));
dpslwk 0:7480abd3b63b 184 } while (i--);
dpslwk 0:7480abd3b63b 185 }
dpslwk 0:7480abd3b63b 186
dpslwk 0:7480abd3b63b 187
dpslwk 0:7480abd3b63b 188 /*********************************************************************//**
dpslwk 0:7480abd3b63b 189 * @brief Puts a hex number to UART port
dpslwk 0:7480abd3b63b 190 * @param[in] UARTx Pointer to UART peripheral
dpslwk 0:7480abd3b63b 191 * @param[in] hexnum Hex number (16-bit long)
dpslwk 0:7480abd3b63b 192 * @return None
dpslwk 0:7480abd3b63b 193 **********************************************************************/
dpslwk 0:7480abd3b63b 194 void UARTPutHex16 (LPC_UART_TypeDef *UARTx, uint16_t hexnum)
dpslwk 0:7480abd3b63b 195 {
dpslwk 0:7480abd3b63b 196 uint8_t nibble, i;
dpslwk 0:7480abd3b63b 197
dpslwk 0:7480abd3b63b 198 UARTPuts(UARTx, "0x");
dpslwk 0:7480abd3b63b 199 i = 3;
dpslwk 0:7480abd3b63b 200 do {
dpslwk 0:7480abd3b63b 201 nibble = (hexnum >> (4*i)) & 0x0F;
dpslwk 0:7480abd3b63b 202 UARTPutChar(UARTx, (nibble > 9) ? ('A' + nibble - 10) : ('0' + nibble));
dpslwk 0:7480abd3b63b 203 } while (i--);
dpslwk 0:7480abd3b63b 204 }
dpslwk 0:7480abd3b63b 205
dpslwk 0:7480abd3b63b 206 /*********************************************************************//**
dpslwk 0:7480abd3b63b 207 * @brief Puts a hex number to UART port
dpslwk 0:7480abd3b63b 208 * @param[in] UARTx Pointer to UART peripheral
dpslwk 0:7480abd3b63b 209 * @param[in] hexnum Hex number (32-bit long)
dpslwk 0:7480abd3b63b 210 * @return None
dpslwk 0:7480abd3b63b 211 **********************************************************************/
dpslwk 0:7480abd3b63b 212 void UARTPutHex32 (LPC_UART_TypeDef *UARTx, uint32_t hexnum)
dpslwk 0:7480abd3b63b 213 {
dpslwk 0:7480abd3b63b 214 uint8_t nibble, i;
dpslwk 0:7480abd3b63b 215
dpslwk 0:7480abd3b63b 216 UARTPuts(UARTx, "0x");
dpslwk 0:7480abd3b63b 217 i = 7;
dpslwk 0:7480abd3b63b 218 do {
dpslwk 0:7480abd3b63b 219 nibble = (hexnum >> (4*i)) & 0x0F;
dpslwk 0:7480abd3b63b 220 UARTPutChar(UARTx, (nibble > 9) ? ('A' + nibble - 10) : ('0' + nibble));
dpslwk 0:7480abd3b63b 221 } while (i--);
dpslwk 0:7480abd3b63b 222 }
dpslwk 0:7480abd3b63b 223
dpslwk 0:7480abd3b63b 224 ///*********************************************************************//**
dpslwk 0:7480abd3b63b 225 // * @brief print function that supports format as same as printf()
dpslwk 0:7480abd3b63b 226 // * function of <stdio.h> library
dpslwk 0:7480abd3b63b 227 // * @param[in] None
dpslwk 0:7480abd3b63b 228 // * @return None
dpslwk 0:7480abd3b63b 229 // **********************************************************************/
dpslwk 0:7480abd3b63b 230 //void _printf (const char *format, ...)
dpslwk 0:7480abd3b63b 231 //{
dpslwk 0:7480abd3b63b 232 // static char buffer[512 + 1];
dpslwk 0:7480abd3b63b 233 // va_list vArgs;
dpslwk 0:7480abd3b63b 234 // char *tmp;
dpslwk 0:7480abd3b63b 235 // va_start(vArgs, format);
dpslwk 0:7480abd3b63b 236 // vsprintf((char *)buffer, (char const *)format, vArgs);
dpslwk 0:7480abd3b63b 237 // va_end(vArgs);
dpslwk 0:7480abd3b63b 238 //
dpslwk 0:7480abd3b63b 239 // _DBG(buffer);
dpslwk 0:7480abd3b63b 240 //}
dpslwk 0:7480abd3b63b 241
dpslwk 0:7480abd3b63b 242 /*********************************************************************//**
dpslwk 0:7480abd3b63b 243 * @brief Initialize Debug frame work through initializing UART port
dpslwk 0:7480abd3b63b 244 * @param[in] None
dpslwk 0:7480abd3b63b 245 * @return None
dpslwk 0:7480abd3b63b 246 **********************************************************************/
dpslwk 0:7480abd3b63b 247 void debug_frmwrk_init(void)
dpslwk 0:7480abd3b63b 248 {
dpslwk 0:7480abd3b63b 249 UART_CFG_Type UARTConfigStruct;
dpslwk 0:7480abd3b63b 250 PINSEL_CFG_Type PinCfg;
dpslwk 0:7480abd3b63b 251
dpslwk 0:7480abd3b63b 252 #if (USED_UART_DEBUG_PORT==0)
dpslwk 0:7480abd3b63b 253 /*
dpslwk 0:7480abd3b63b 254 * Initialize UART0 pin connect
dpslwk 0:7480abd3b63b 255 */
dpslwk 0:7480abd3b63b 256 PinCfg.Funcnum = 1;
dpslwk 0:7480abd3b63b 257 PinCfg.OpenDrain = 0;
dpslwk 0:7480abd3b63b 258 PinCfg.Pinmode = 0;
dpslwk 0:7480abd3b63b 259 PinCfg.Pinnum = 2;
dpslwk 0:7480abd3b63b 260 PinCfg.Portnum = 0;
dpslwk 0:7480abd3b63b 261 PINSEL_ConfigPin(&PinCfg);
dpslwk 0:7480abd3b63b 262 PinCfg.Pinnum = 3;
dpslwk 0:7480abd3b63b 263 PINSEL_ConfigPin(&PinCfg);
dpslwk 0:7480abd3b63b 264 #elif #if (USED_UART_DEBUG_PORT==1)
dpslwk 0:7480abd3b63b 265 /*
dpslwk 0:7480abd3b63b 266 * Initialize UART1 pin connect
dpslwk 0:7480abd3b63b 267 */
dpslwk 0:7480abd3b63b 268 PinCfg.Funcnum = 1;
dpslwk 0:7480abd3b63b 269 PinCfg.OpenDrain = 0;
dpslwk 0:7480abd3b63b 270 PinCfg.Pinmode = 0;
dpslwk 0:7480abd3b63b 271 PinCfg.Pinnum = 15;
dpslwk 0:7480abd3b63b 272 PinCfg.Portnum = 0;
dpslwk 0:7480abd3b63b 273 PINSEL_ConfigPin(&PinCfg);
dpslwk 0:7480abd3b63b 274 PinCfg.Pinnum = 16;
dpslwk 0:7480abd3b63b 275 PINSEL_ConfigPin(&PinCfg);
dpslwk 0:7480abd3b63b 276 #endif
dpslwk 0:7480abd3b63b 277
dpslwk 0:7480abd3b63b 278 /* Initialize UART Configuration parameter structure to default state:
dpslwk 0:7480abd3b63b 279 * Baudrate = 9600bps
dpslwk 0:7480abd3b63b 280 * 8 data bit
dpslwk 0:7480abd3b63b 281 * 1 Stop bit
dpslwk 0:7480abd3b63b 282 * None parity
dpslwk 0:7480abd3b63b 283 */
dpslwk 0:7480abd3b63b 284 UART_ConfigStructInit(&UARTConfigStruct);
dpslwk 0:7480abd3b63b 285 // Re-configure baudrate to 115200bps
dpslwk 0:7480abd3b63b 286 UARTConfigStruct.Baud_rate = 115200;
dpslwk 0:7480abd3b63b 287
dpslwk 0:7480abd3b63b 288 // Initialize DEBUG_UART_PORT peripheral with given to corresponding parameter
dpslwk 0:7480abd3b63b 289 UART_Init((LPC_UART_TypeDef *)DEBUG_UART_PORT, &UARTConfigStruct);
dpslwk 0:7480abd3b63b 290
dpslwk 0:7480abd3b63b 291 // Enable UART Transmit
dpslwk 0:7480abd3b63b 292 UART_TxCmd((LPC_UART_TypeDef *)DEBUG_UART_PORT, ENABLE);
dpslwk 0:7480abd3b63b 293
dpslwk 0:7480abd3b63b 294 _db_msg = UARTPuts;
dpslwk 0:7480abd3b63b 295 _db_msg_ = UARTPuts_;
dpslwk 0:7480abd3b63b 296 _db_char = UARTPutChar;
dpslwk 0:7480abd3b63b 297 _db_hex = UARTPutHex;
dpslwk 0:7480abd3b63b 298 _db_hex_16 = UARTPutHex16;
dpslwk 0:7480abd3b63b 299 _db_hex_32 = UARTPutHex32;
dpslwk 0:7480abd3b63b 300 _db_dec = UARTPutDec;
dpslwk 0:7480abd3b63b 301 _db_dec_16 = UARTPutDec16;
dpslwk 0:7480abd3b63b 302 _db_dec_32 = UARTPutDec32;
dpslwk 0:7480abd3b63b 303 _db_get_char = UARTGetChar;
dpslwk 0:7480abd3b63b 304 }
dpslwk 0:7480abd3b63b 305 #endif /*_DBGFWK */