Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void send_pc(char *format, ...) {
- char tmp_tab[128];
- int i;
- volatile int idx;
- idx = tx.head;
- va_list arglist;
- va_start(arglist, format);
- vsprintf(tmp_tab, format, arglist);
- va_end(arglist);
- for (i = 0; i < strlen(tmp_tab); i++) {
- tx.buff[idx] = tmp_tab[i];
- idx++;
- if (idx >= BUFF_SIZE) {
- idx = 0;
- }
- }
- __disable_irq();
- if ((tx.head != tx.tail)) {
- tx.head = idx;
- uint8_t tmp = tx.buff[tx.tail];
- HAL_UART_Transmit_IT(&huart2, &tmp, 1);
- tx.tail++;
- if (tx.tail >= BUFF_SIZE)
- tx.tail = 0;
- } else {
- tx.head = idx;
- }
- __enable_irq();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement