You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
854 B

12 months ago
  1. #include "zlog.h"
  2. #include "zbase.h"
  3. bool g_xs_enable_log = true;
  4. extern UART_HandleTypeDef DEBUG_UART;
  5. /*********************************************************************
  6. * @fn _write
  7. *
  8. * @brief Support Printf Function
  9. *
  10. * @param *buf - UART send Data.
  11. * size - Data length
  12. *
  13. * @return size: Data length
  14. */
  15. __attribute__((used)) int _write(int fd, char* buf, int size) {
  16. int i;
  17. for (i = 0; i < size; i++) {
  18. uint8_t c = *buf++;
  19. HAL_UART_Transmit(&DEBUG_UART, &c, 1, 100);
  20. }
  21. return size;
  22. }
  23. void zlog_enable(bool enable) { g_xs_enable_log = enable; }
  24. void zlog(const char* fmt, ...) {
  25. if (g_xs_enable_log) {
  26. va_list args;
  27. va_start(args, fmt);
  28. vprintf(fmt, args);
  29. va_end(args);
  30. }
  31. }
  32. void zlog_raw(const char* info){
  33. if (g_xs_enable_log) {
  34. printf(info);
  35. }
  36. }