LINKED LIST TEST on mbed

Dependencies:   mbed

Committer:
lynxeyed_atsu
Date:
Sat Feb 26 03:55:12 2011 +0000
Revision:
0:e8bfffbb3ab6

        

Who changed what in which revision?

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