๋ฐฐ์—ด์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๊ณ  ์‹ถ์„๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

๋ฐฐ์—ด์ด๋ฆ„์€ ์ง€๊ธˆ UART ํ…Œ์ŠคํŠธํ•˜๋Š๋ƒ๊ณ  rx_buff๋ผ๊ณ  ๋งŒ๋“ค์—ˆ๋‹ค. ์•„๋ฌด ์ด๋ฆ„์ด๋‚˜ ์ƒ๊ด€์—†๋‹ค.

์•„๋ž˜ sizeof ์ž๋ฆฌ๋Š” ๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์„๋•Œ๋Š” strlen์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

void insert(U08 index, U08 ch)
{
	memmove(rx_buff + index + 1, rx_buff + index, sizeof(rx_buff) - index + 1);
	rx_buff[index] = ch;
}
// ex : insert(1, 0xff);

void delete(U08 index)
{
	memmove(rx_buff + index, rx_buff + index + 1, sizeof(rx_buff) - index);
}
// ex : delete(1);

void append(U08 ch)
{
	insert(sizeof(rx_buff), ch);
}
// ex : append(0xff);
๋ฐ˜์‘ํ˜•
  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ๋„ค์ด๋ฒ„ ๋ฐด๋“œ์— ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜ค์Šคํ† ๋ฆฌ ๊ณต์œ ํ•˜๊ธฐ

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."