资源匮乏的单片机打印十进制数值

void fun_uart_send_dec(long data)
{
	char cnt = 0;
	long reverse_data = 0;

	if (data == 0) {
		_txr_rxr = '0';
		while(!_tidle);
		return;
	}

	/* 负数转正数 */
	if (data < 0) {
		_txr_rxr = '-';
		data = -data;
		while(!_tidle);
	}

	/* 数值倒序 */
	while(data > 0) {
		reverse_data = reverse_data * 10 + data % 10;
		data /= 10;
		cnt++;
	}

	/* 打印数值 */
	while(cnt--) {
		_txr_rxr = reverse_data % 10 + '0';
		reverse_data /= 10;
		while(!_tidle);
	}
}

void fun_uart_send_str(char *str)
{
	while (*str != '\0') {
		_txr_rxr = *str++;
		while(!_tidle);
	}
}
posted @ 2021-07-28 10:28  Bryce-Hu  阅读(114)  评论(0)    收藏  举报