<commit_before>#include "system.hpp"
#include "clock.hpp"
#include "port.hpp"
#include "uart_io.hpp"

static void wait_(uint16_t n)
{
	while(n > 0) {
		asm("nop");
		--n;
	}
}

static device::uart_io<device::UART0, 16, 16> uart_io_;

int main(int argc, char *ragv[])
{
	using namespace device;

// クロック関係レジスタ・プロテクト解除
	PRCR.PRC0 = 1;

// 高速オンチップオシレーターへ切り替え
	OCOCR.HOCOE = 1;
	wait_(1000);
	SCKCR.HSCKSEL = 1;
	CKSTPR.SCKSEL = 1;

	// UART の設定 (P1_4: TXD0[in], P1_5: RXD0[in])
	// ※シリアルライターでは、RXD 端子は、P1_2 となっているので注意！
	MSTCR.MSTUART = 0;  // モジュールスタンバイ制御
	PMH1E.P14SEL2 = 0;
	PMH1.P14SEL = 1;
	PMH1E.P15SEL2 = 0;
	PMH1.P15SEL = 1;
	uart_io_.start(19200, true);

	for(char ch = 0x20; ch < 0x7f; ++ch) {
		uart_io_.putch(ch);
	} 

	// L チカ・メイン
	PD1.B0 = 1;
	while(1) {
		P1.B0 = 0;
		for(uint32_t i = 0; i < 300000; ++i) { asm("nop"); }
		P1.B0 = 1;
		for(uint32_t i = 0; i < 300000; ++i) { asm("nop"); }
	}
}<commit_msg>ポーリングによる受信動作テスト<commit_after>#include "system.hpp"
#include "clock.hpp"
#include "port.hpp"
#include "uart_io.hpp"

static void wait_(uint16_t n)
{
	while(n > 0) {
		asm("nop");
		--n;
	}
}

static device::uart_io<device::UART0, 16, 16> uart_io_;

int main(int argc, char *ragv[])
{
	using namespace device;

// クロック関係レジスタ・プロテクト解除
	PRCR.PRC0 = 1;

// 高速オンチップオシレーターへ切り替え
	OCOCR.HOCOE = 1;
	wait_(1000);
	SCKCR.HSCKSEL = 1;
	CKSTPR.SCKSEL = 1;

	// UART の設定 (P1_4: TXD0[in], P1_5: RXD0[in])
	// ※シリアルライターでは、RXD 端子は、P1_2 となっているので注意！
	MSTCR.MSTUART = 0;  // モジュールスタンバイ制御
	PMH1E.P14SEL2 = 0;
	PMH1.P14SEL = 1;
	PMH1E.P15SEL2 = 0;
	PMH1.P15SEL = 1;
	uart_io_.start(19200, true);

	for(char ch = 0x20; ch < 0x7f; ++ch) {
		uart_io_.putch(ch);
	} 
	uart_io_.putch('\n');

	// L チカ・メイン
	PD1.B0 = 1;
	uint8_t v = 0;
	while(1) {
		P1.B0 = v;
		for(uint32_t i = 0; i < 50000; ++i) {
			if(uart_io_.length()) {
				char ch = uart_io_.getch();
				uart_io_.putch(ch);
			}
		}
		v ^= 1;
	}
}
{'fraction_non_alphanumeric': 0.1853220696937698, 'fraction_numerical': 0.08078141499472016, 'mean_word_length': 3.32648401826484, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5678050', 'n_tokens_mistral': 1223, 'n_tokens_neox': 1091, 'n_words': 185}