From 7b8585012a16101cfd20b4b8729b27bb3240e436 Mon Sep 17 00:00:00 2001 From: Miguel Iglesias Date: Fri, 11 Oct 2024 23:48:47 +0200 Subject: [PATCH] Included uart, test commit --- main.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ prj.conf | 4 ++++ 2 files changed, 52 insertions(+) diff --git a/main.c b/main.c index 38450fc..8f6df32 100644 --- a/main.c +++ b/main.c @@ -1,5 +1,6 @@ #include #include +#include #include #include @@ -7,6 +8,41 @@ #define TST_CLK_PIN 17 //this is led 0 pin on nrf52-dk #define FREQ_MEASURE_PIN 11 +const struct device *uart0 = DEVICE_DT_GET(DT_NODELABEL(uart0)); + + +struct uart_config uart_cfg = { + .baudrate = 9600, + .parity = UART_CFG_PARITY_NONE, + .stop_bits = UART_CFG_STOP_BITS_1, + .flow_ctrl = UART_CFG_FLOW_CTRL_NONE, + .data_bits = UART_CFG_DATA_BITS_8, +}; + +void send_str(const struct device *uart, char *str) +{ + int msg_len = strlen(str); + + for (int i = 0; i < msg_len; i++) { + uart_poll_out(uart, str[i]); + } + + printk("Device %s sent: \"%s\"\n", uart->name, str); +} + +void recv_str(const struct device *uart, char *str) +{ + char *head = str; + char c; + + while (!uart_poll_in(uart, &c)) { + *head++ = c; + } + *head = '\0'; + + printk("Device %s received: \"%s\"\n", uart->name, str); +} + void gpio_clock_8m(uint32_t pin_number) { @@ -111,6 +147,18 @@ void TIMER1_IRQHandler(void) int main(void) { + char send_buf[64]; + + printk("Hellowold 1!"); + /*rc = uart_configure(uart0, &uart_cfg); + if (rc) { + printk("Could not configure device %s", uart0->name); + }*/ + + snprintf(send_buf, 64, "Helloworld 2"); + send_str(uart0, send_buf); + + NVIC_EnableIRQ(TIMER1_IRQn); //enable timer1 interrupt IRQ_DIRECT_CONNECT(TIMER1_IRQn, 3, TIMER1_IRQHandler, 0); //link interrupt flag to handler NVIC_SetPriority(TIMER1_IRQn, 3); //set interrupt execution priority diff --git a/prj.conf b/prj.conf index ce2274b..c6bac66 100644 --- a/prj.conf +++ b/prj.conf @@ -1,2 +1,6 @@ CONFIG_NRFX_TIMER0=y CONFIG_NRFX_TIMER1=y + +CONFIG_SERIAL=y +CONFIG_UART_USE_RUNTIME_CONFIGURE=y +CONFIG_UART_INTERRUPT_DRIVEN=y \ No newline at end of file