Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
- *
- * The information contained herein is property of Nordic Semiconductor ASA.
- * Terms and conditions of usage are described in detail in NORDIC
- * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
- *
- * Licensees are granted free, non-transferable use of the information. NO
- * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
- * the file.
- *
- */
- /** @file
- *
- * @defgroup bsp_example_main main.c
- * @{
- * @ingroup bsp_example
- * @brief BSP Example Application main file.
- *
- */
- #include <stdbool.h>
- #include <stdint.h>
- #include "boards.h"
- #include "bsp.h"
- #include "app_timer.h"
- #include "nordic_common.h"
- #include "nrf_error.h"
- #include "nrf_gpio.h"
- #include <inttypes.h>
- #define APP_TIMER_PRESCALER 0 /**< Value of the RTC1 PRESCALER register. */
- #define APP_TIMER_OP_QUEUE_SIZE 2 /**< Size of timer operation queues. */
- #define BUTTON_PREV_ID 0 /**< Button used to switch the state. */
- #define BUTTON_NEXT_ID 1 /**< Button used to switch the state. */
- #define UART_TX_BUF_SIZE 256 /**< UART TX buffer size. */
- #define UART_RX_BUF_SIZE 1 /**< UART RX buffer size. */
- #define PORT_NUM 3
- bsp_indication_t actual_state = BSP_INDICATE_FIRST; /**< Currently indicated state. */
- const char * indications_list[] = BSP_INDICATIONS_LIST;
- static void gpio_init(void)
- {
- nrf_gpio_cfg_input(PORT_NUM, NRF_GPIO_PIN_NOPULL);
- }
- void uart_error_handle(app_uart_evt_t * p_event)
- {
- // No implementation needed.
- }
- /**@brief Function for handling bsp events.
- */
- void bsp_evt_handler(bsp_event_t evt)
- {
- uint32_t err_code;
- switch (evt)
- {
- case BSP_EVENT_KEY_0:
- if (actual_state != BSP_INDICATE_FIRST)
- actual_state--;
- else
- actual_state = BSP_INDICATE_LAST;
- break;
- case BSP_EVENT_KEY_1:
- if (actual_state != BSP_INDICATE_LAST)
- actual_state++;
- else
- actual_state = BSP_INDICATE_FIRST;
- break;
- default:
- return; // no implementation needed
- }
- err_code = bsp_indication_text_set(actual_state, indications_list[actual_state]);
- APP_ERROR_CHECK(err_code);
- uint32_t pin_value = 0;
- uint8_t port_value = 0;
- pin_value = nrf_gpio_pin_read(PORT_NUM);
- port_value = nrf_gpio_port_read(PORT_NUM);
- printf("pin value: %zu\n\r", pin_value);
- printf("port value: %zu\n\r", port_value);
- printf("port value: %" PRIu8 " \n\r", port_value);
- }
- /**@brief Function for initializing low frequency clock.
- */
- void clock_initialization()
- {
- NRF_CLOCK->LFCLKSRC = (CLOCK_LFCLKSRC_SRC_Xtal << CLOCK_LFCLKSRC_SRC_Pos);
- NRF_CLOCK->EVENTS_LFCLKSTARTED = 0;
- NRF_CLOCK->TASKS_LFCLKSTART = 1;
- while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0)
- {
- // Do nothing.
- }
- }
- /**@brief Function for initializing bsp module.
- */
- void bsp_configuration()
- {
- uint32_t err_code;
- err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS,
- APP_TIMER_TICKS(100, APP_TIMER_PRESCALER),
- bsp_evt_handler);
- APP_ERROR_CHECK(err_code);
- // err_code = bsp_buttons_enable( (1 << BUTTON_PREV_ID) | (1 << BUTTON_NEXT_ID) );
- // APP_ERROR_CHECK(err_code);
- }
- /**@brief Function for initializing the UART.
- */
- static void uart_init(void)
- {
- uint32_t err_code;
- const app_uart_comm_params_t comm_params =
- {
- RX_PIN_NUMBER,
- TX_PIN_NUMBER,
- RTS_PIN_NUMBER,
- CTS_PIN_NUMBER,
- APP_UART_FLOW_CONTROL_DISABLED,
- false,
- UART_BAUDRATE_BAUDRATE_Baud115200
- };
- APP_UART_FIFO_INIT(&comm_params,
- UART_RX_BUF_SIZE,
- UART_TX_BUF_SIZE,
- uart_error_handle,
- APP_IRQ_PRIORITY_LOW,
- err_code);
- APP_ERROR_CHECK(err_code);
- }
- /**
- * @brief Function for application main entry.
- */
- int main(void)
- {
- uint32_t err_code = NRF_SUCCESS;
- clock_initialization();
- APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_OP_QUEUE_SIZE, NULL);
- gpio_init();
- uart_init();
- bsp_configuration();
- err_code = bsp_indication_text_set(actual_state,indications_list[actual_state]);
- APP_ERROR_CHECK(err_code);
- printf("In main\n\r");
- uint32_t pin_value = 0;
- uint8_t port_value = 0;
- pin_value = nrf_gpio_pin_read(PORT_NUM);
- port_value = nrf_gpio_port_read(PORT_NUM);
- printf("pin value: %zu\n\r", pin_value);
- printf("port value: %zu\n\r", port_value);
- printf("port value: %" PRIu8 " \n\r", port_value);
- while (true)
- {
- // no implementation needed
- }
- }
- /** @} */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement