66 lines
1.2 KiB
C
66 lines
1.2 KiB
C
/*
|
|
* debugTools.c
|
|
*
|
|
* Created on: 12. 10. 2020
|
|
* Author: Adcis
|
|
*/
|
|
#include "debugTools.h"
|
|
|
|
LPC_USART_T *DBG_USART;
|
|
|
|
void DebugInit(LPC_USART_T *pUART) {
|
|
DBG_USART = pUART;
|
|
|
|
/* Disable I/O buffering for STDOUT stream, so that
|
|
* chars are sent out as soon as they are printed. */
|
|
//setvbuf(stdout, NULL, _IONBF, 0);
|
|
}
|
|
|
|
void dbg_nl(){
|
|
Chip_UART_SendBlocking(DBG_USART, &"\n", 1);
|
|
}
|
|
|
|
void dbg(unsigned long n){//16.7
|
|
char operator = '+';
|
|
if(n > 4294967296/2){
|
|
n = 4294967296 - n;
|
|
operator = '-';
|
|
}
|
|
char tmp[11];
|
|
int i = sizeof(tmp);
|
|
for(int j = 0; j<i-1; j++){
|
|
tmp[j] = '0';
|
|
}
|
|
do
|
|
{
|
|
tmp[--i] = '0' + n % 10;
|
|
n /= 10;
|
|
} while (n);
|
|
Chip_UART_SendBlocking(DBG_USART, &operator, 1);
|
|
Chip_UART_SendBlocking(DBG_USART, &tmp, sizeof(tmp));
|
|
}
|
|
|
|
uint8_t intToAscii(uint8_t number){
|
|
if(number > 9){
|
|
return number + 55;
|
|
}
|
|
else{
|
|
return number + 48;
|
|
}
|
|
}
|
|
|
|
void dbg_ASCII(uint8_t *arr, int size){
|
|
for(int i = 0; i<size; i++){
|
|
uint8_t lo,hi;
|
|
lo = arr[i] & 0x0f;
|
|
hi = (arr[i] >> 4) & 0x0f;
|
|
hi = intToAscii(hi);
|
|
lo = intToAscii(lo);
|
|
Chip_UART_SendBlocking(DBG_USART, &hi, 1);
|
|
Chip_UART_SendBlocking(DBG_USART, &lo, 1);
|
|
Chip_UART_SendBlocking(DBG_USART, &" ", 1);
|
|
}
|
|
dbg_nl();
|
|
}
|
|
|